[英]Why does my scanner ask for input every three lines?
有谁知道为什么我的扫描仪要求每三行而不是每行输入一次? 如果您运行它,您将看到它先问这个问题,但随后又不问两行,然后它再次问这个问题。 我怎样才能每行问一个问题,更不用说将其存储在链接列表中了。
import java.util.Scanner;
public class StackCalc {
public static StackLL stackll = new StackLL();
public static void create() {
String hold = new String();
Scanner scanner = new Scanner(System.in);
boolean running = true;
while (true) {
System.out.print("Enter number, math operation(+,-,*, or /), or Q to quit: ");
hold = scanner.next();
if (scanner.next().equals("Q") || scanner.next().equals("q")) {
System.out.println(hold);
break;
}
}
}
public static boolean checkInt(String s, int it){
Scanner scan = new Scanner(s.trim());
if(!scan.hasNextInt(it))
return false;
scan.nextInt(it);
return !scan.hasNext();
}
public static void main(String args[]) {
create();
}
}
任何输入都会很棒。
这是因为您三次使用了Scanner.next()
方法:
hold = scanner.next()
scanner.next().equals("Q")
和scanner.next().equals("q")
相反,只需更改以下内容即可调用一次:
scanner.next().equals("Q")
to hold.equals("Q")
和
scanner.next().equals(q")
到hold.equals("Q")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.