Emiliaaaa
2019-03-22 14:52
采纳率: 66.7%
浏览 608
已采纳

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 百里山川 2019-03-22 15:16
    已采纳

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题