您的位置:首页 > 编程语言 > Java开发

java 编程题输入输出处理

2016-09-06 00:00 281 查看
昨晚做笔试编程题的时候,算法是可以的,但是因为居然不知道怎么处理多组测试数据而提交不了,太久没碰java算法编程,真是尴尬。

输入多组数据:

1.已知输入数据的组数,直接判断是否组数是否输完就好了,最简单的就是用for循环输入

2.未知输入数据的组数,有结束标志字符,这个也简单,设置while循环结束的条件为判断输入字符是否是结束字符

3.未知输入数据的组数,无结束标志字符

c里面对输入是否完成的判断是:while(scanf("%d %d",&a, &b) != EOF){...}

java则可以Scanner对象的hasNext()判断

//例子,京东笔试,做集合并集操作
import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(input.hasNext()){
int n = input.nextInt(); //输入第一个集合的长度
int k = input.nextInt(); //输入第二个集合的长度
int[] arr = new int[n+k];
HashSet<Integer> temp = new HashSet<Integer>();
for(int i = 0,len = n+k ; i < len; i++){
temp.add(input.nextInt()); //输入集合各个元素,这里直接放入hashset了
}
Integer[] result = new Integer[temp.size()]; //hashset
temp.toArray(result);
Arrays.sort(result); //输出要求从小到大
for(int x:result){
System.out.print( x+" ");
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: