java机试要点

Java机试准备

一般结构:   import java.util.Scanner;

public class Main{

public static void main(String[] args){

System.out.println( );

}

}

输入流:

字符串: Scanner input = new Scanner(System.in);

while(input.hasNextLine()){

String str = input.nextLine();

}

整数:   Scanner input = new Scanner(System.in);

while(input.hasNext()){

String str = input.nextInt();

}

TreeMap使用:红黑树实现,键值对,默认按键值key升序排列

定义:   TreeMap<Integer,Integer>map = new TreeMap<Integer,Integer>();

判断是否包含指定的键名key: if(map.containsKey(key))

获取key值所对应的value:    map.get(key);

往map中放入键值对:        map.put(key,value);

获取所有key值到set集合中:  map.keySet();

遍历输出map中键值对:   for (Integer key : map.keySet()) {

System.out.println(key + " " + map.get(key));

}

TreeSet的使用:基于treemap,单元素,元素按升序排列

定义:   TreeSet<Integer> set = new TreeSet<Integer>();

for(int i=0;i<num;i++){

int cur = s.nextInt();

放入treeset : set.add(cur);

}

遍历:    for(Integer i : set){

System.out.println(i);

}

ArrayList动态数组:

定义:      ArrayList<String> set = new ArrayList<String>();

for(int i=0;i<num;i++) {

String  str = s.nextLine();

字符串加入数组:set.add(str);

}

按升序排序:    Collections.sort(set);

遍历输出字符串数组:  for (String str : set) {

System.out.println(str);

}

定义数组:  int []arr=new int[128];

数组求长度: int len =arr.length;

字符串的长度:int len =str.length();

检索字符串中某字符的位置:

从前往后:str.IndexOf(" ");从前往后检索空格,返回空格的位置

从后往前:str.lastIndexOf(" ");从后往前检索空格,返回空格位置

检索字符串中的字符:str.charAt(i);返回字符

字符串拆分为字符串数组:String strArr[]= str.split(" ");(以空格拆分字符串为字符串数组)

字符串转换成大写:str.toUpperCase();

字符串转换成小写:str.toLowerCase();

整数转换为二进制:String str = Integer.toBinaryString(n);(转换为01字符串形式)

字符串转换为整数:int i= Integer.parseInt(str,);  int i= Integer.parseInt(str,16)(字符串为16进制的,转换为十进制整数)

整数转换为字符串:String s=String.valueOf(i);  string s=Integer.toString(i);

字符转换为整数:str.charAt(i)-‘0‘;或者str.charAt(i)-48

字符转为整数:int num = Integer.valueOf(ch[i]);

类型强制转换: int n=(int)num;(num为double型的)

将字符串转为字符数组:char ch[ ]=str.toCharArray();

截取字符串:str.substring(0,8):截取位置0到位置7的子串

str.substring(8):截取从位置8到末尾的子串

0-9:48-57

A-Z:65-90

a-z:97-122

注:整数过大转换为字符串处理!

时间: 2024-12-11 00:40:42

java机试要点的相关文章

Java机试题目_怎样截取字符串

面试题1  怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个". 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这

华为机试—介绍、剖析、建议

一.华为机试介绍 1.大致介绍 时间:120分钟 环境:Visual Studio(去年是vs2005).Visual C++.VC 6.0.Eclipse(Java) 题量:共3题 初级题--60分--3组测试数据 中级题--100分--5组测试数据 高级题--160分--8组测试数据 注:初级题和中级题为必答题,高级题为附加题. 提交次数:每题最多5次 评判方式:按通过测试数据组数给分,每通过一组得20分 2.考试说明 这里有一个老版的机试考试说明,供大家参考: C/C++,JAVA机试流程

华为机试正式版(西安c/c++/java),今天下午去机试的题目,新鲜出炉了!

以下题目都是回忆的,题目都很简单, 大家有些基础就可以参加!(语言可以是c/c++,也可以是java的) 题目一(60分): 字符串操作, 将小写转换成大写, 将大写转化为小写, 数字的不做转换 例如, 输入:aBcD12 输出:AbCd12 题目二(100分): 将输入的字符串按照规定重新排序,如果字符串长度为奇数, 则中间的字符保持不变, 中间字符左侧降序排列, 右侧字符按照升序排列, 如果字符串长度为偶数,则左半侧字符降序排列,右半侧字符则按照升序排列 例如, 输入:ab5de 输出:ba

华为机试集锦(Java)

题目链接http://blog.csdn.net/hackbuteer1/article/details/11132567 1.字符串过滤 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串“abacacde”过滤结果为“abcde”. 解决:hashset可以解决 2.字符串压缩 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后

华为OJ机试训练(一)

题目1 -- 通过输入英文句子.将每一个单词反过来,标点符号顺序不变.非26个字母且非标点符号的情况就可以标识单词结束. 标点符号包含,.!? 比如输入:Hello, I need an apple. 输出: /** * 华为机试训练1: 通过输入英文句子,将每一个单词反过来.标点符号顺序不变.非26个字母且非标点符号的情况就可以标识单词结束. 标点符号包含,.!? * Hello, I need an apple. * * @author snail * */ public class Mai

华为机试ACM(字符组合问题)

今晚做了华为的机试,3道ACM题,最后一道是实现从M个不同字符中任取N个字符的所有组合. eg: input:ABC 2 output:AB AC BC 第一个输入为字符串,第二个输入为组合的字符个数,当N=0或者N>M时,输出“ERROR”. 思路:可以用递归的算法解决,例如ABC中2个字符的所有组合,先选取第一个的A,那包含A的2个字符的所有组合就是从后面剩余的BC中取1个字符的所有组合,然后选取第二个的B,那包含B的2个字符的所有组合就是从后面剩余的C中取1个字符的组合,即只有C,到选取第

华为机试在线训练(4)

华为机试在线训练:字符串分隔 题目描述 ?连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 输入例子: abc123456789 输出例子: abc000001234567890000000 代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3

2014深圳华为机试剖析

题一: (1)给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况.最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7

华为机试-公共字串计算

题目描述题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串 输入描述:输入两个字符串 输出描述:输出一个整数 输入例子:asdfas werasdfaswer 输出例子:6 效率低的Java程序实现: import java.ut