给定一系列文本。例如 :11 21 33 45 23 45 66 98 99 92 45把其中的奇数输出到odds文本 把剩余的输出到evens文本 我本是通过这样 Scanner in=new Scanner(Paths.get("C:\\Users\\HASEE\\Desktop\\numbers.txt"),"UTF-8");
PrintWriter out1=new PrintWriter("C:\\Users\\HASEE\\Desktop\\odds.txt");
PrintWriter out2=new PrintWriter("C:\\Users\\HASEE\\Desktop\\evens.txt");
while (in.hasNext()) {
String a =in.nextLine();
char [] number = a.toCharArray();
for(i=1;i<number.length;i=i+2)把读入的string转换成char数组 然后再按照位置(都是2位数字+1个空格)判断数字的奇偶性再选择输出。。这样一旦不是如此整齐的数字排列就不起作用了。所以希望有前辈能指点一二
3 回答

慕村9548890
TA贡献1884条经验 获得超4个赞
在你的基础上 利用2个数字之间的空格,将String a 转为数组:
String a =in.nextLine();
String[] temp = a.split(" ");
接下来 遍历temp,判断每一个元素是否是数字,如果是,就转为int,然后除以2取余,得到0就归到evens,得到1就归到odds

慕标琳琳
TA贡献1830条经验 获得超9个赞
你举的例子是11 21 33 45 23 45 66 98 99 92 45, 执行String[] temp = a.split(" ")之后, String[] temp={"11","21","33","45","23","45","66","98","99","92","45"} 里面每个元素就是你要的数字,别光看,动手敲代码,debug运行起来,看一下是不是你要的效果
添加回答
举报
0/150
提交
取消