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

关于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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记