gpt4 book ai didi

java - 如何使用scanner和next()但不继续

转载 作者:行者123 更新时间:2023-12-02 01:57:29 25 4
gpt4 key购买 nike

我正在尝试使用带有内置 next() 方法的扫描仪,问题是我想以这种方式存储两个不同的值,用我的代码可能更容易理解:

public Sokoban8() throws Exception {
file = new File("C:/Users/joaki/Desktop/sokoban/readin3.txt");
sc = new Scanner(file);
sc.reset();
list = new ArrayList<Character>();
sc.useDelimiter("s*");
while(sc.hasNext()) {
char c = sc.next().charAt(0);
//String line = sc.nextLine();

list.add(c);
lines++;
//if (maxChar < line.length()) {
//maxChar = line.length();
}
}
sc.close();
for (Object item : list) {
System.out.println(item);
}
}

问题是当我删除//时,我的代码将向前迭代(两次),因此我不会获得所有值,有没有办法让我解决这个问题?

最佳答案

您需要在一次迭代期间存储一行和一个字符。您可以先存储该行

String line = sc.nextLine();

然后像这样存储它的第一个字符

char c = line.charAt(0);

关于java - 如何使用scanner和next()但不继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52111729/

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