如何获取由新行

时间:2017-01-28 07:50:51

标签: java arrays string

我有一个换行符。我想将该字符串转换为数组,并且对于每个新行,跳转数组中的一个索引位置。

如果输入为:

  

100
  200个
  300

然后我需要输出:

  

110
  210个
  310

我使用了以下代码:

public class NewClass {
    public static void main(String args[]) throws IOException {
        BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
        String str=br.readLine();
        String [] arrOfStr = str.split("\n");int b=0;
        for (String a : arrOfStr) {
            b=Integer.parseInt(a);
            int c=b+10;
            System.out.println(c);
        }
     }
}

但它没有提供所需的输出。 注意:我们没有从文本文件中获取输入。我们不知道测试用例中有多少输入。我们一次接受投入。

2 个答案:

答案 0 :(得分:0)

您可以使用scanner.hasNext()代替 -

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    // scanner.useDelimiter("\\r\\n"); // if required to delimit the input 
    while (scanner.hasNext()) {
        int c = Integer.parseInt(scanner.next()) + 10;
        System.out.println(c);
    }
}

使用与您相同的输入 -

100
200
300

输出将是 -

110
210
310

答案 1 :(得分:0)

详细说明我的评论。

    List<Integer> intList = new ArrayList<Integer>();
    BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();
    while (!str.isEmpty()) {
        intList.add(Integer.parseInt(str)+10);
        str=br.readLine();

    }
    System.out.println(intList);}

这应该有用,我在打电话......