猿问

关于JAVA从指定文本中读取并选择性输出的基础问题

给定一系列文本。例如 :
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个空格)判断数字的奇偶性再选择输出。。这样一旦不是如此整齐的数字排列就不起作用了。
所以希望有前辈能指点一二


摇曳的蔷薇
浏览 623回答 3
3回答

慕村9548890

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

慕标琳琳

你举的例子是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运行起来,看一下是不是你要的效果
随时随地看视频慕课网APP

相关分类

Java
我要回答