gpt4 book ai didi

java - 扫描器以某种方式循环遍历文件中的整数

转载 作者:行者123 更新时间:2023-11-30 07:56:58 25 4
gpt4 key购买 nike

我刚刚有一个关于如何最好地在循环的一次迭代中执行此操作的快速问题。

如果我从以下文本文件初始化扫描仪...

x1 2 3 -1 x2 2 x3 4 x4 5 -1

我使用以下代码:

String name;
int value;
ArrayList<Integer> tempList = new ArrayList<Integer>();

while(scanner.hasNext()) {
name = scanner.next();
//Over here, I'm trying to assign value to be 2 and 4 (only for x2 and x3), not 2, 3, or 5 because it's followed by a -1
value = 2 and 4
tempList.add(value);
}

因此,在我的迭代中,如果名称后跟一个数字/多个以 -1 结尾的数字,则不执行任何操作,但如果名称后跟一个数字,则设置 value = number

这是否需要多次遍历文件才能知道哪些字符串以 -1 数字结尾?

最佳答案

这是一种实现方法

    String s = " x1 2 3 -1 x2 2 x3 4 x4 5 -1 lastone 4";

Scanner sc = new Scanner(s);

String currentName = null;
int currentNumber = -1;

while (sc.hasNext()) {

String token = sc.next();

if (token.matches("-?\\d+")) {
currentNumber = Integer.parseInt(token);
} else {
if (currentName != null && currentNumber > -1) {
System.out.println(currentName + " = " + currentNumber);
}
currentName = token;
currentNumber = -1;
}
}

if (currentName != null && currentNumber > -1) {
System.out.println(currentName + " = " + currentNumber);
}

输出:

x2 = 2
x3 = 4
lastone = 4

编辑:更正(打印最后一对(如果存在)

关于java - 扫描器以某种方式循环遍历文件中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32534136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com