我是java
的新手,我需要一些帮助。我写了这段代码,但它跳到最后,不让我在控制台中写任何东西..
import java.util.Scanner;
public class Exercise21 {
public static void main(String[] args){
Scanner keyboardInput = new Scanner("System.in");
String text = "";
String text2 = "";
System.out.println("Type any text : ");
if(keyboardInput.hasNextLine()) text = keyboardInput.nextLine();
System.out.println("Type the word you want to find : ");
if(keyboardInput.hasNextLine()) text2 = keyboardInput.nextLine();
System.out.println("Your word was found : " + text.indexOf(text2,0));
}
}
答案 0 :(得分:1)
它跳到最后的原因是因为在开始时,keyboardInput
内没有任何内容,如果检查失败,则会导致以下2。
简单地删除if检查将解决您的问题,然后您可以进行检查以确保输入不是空的。或者,您可以将每个输入包装在while循环中。
do {
text = keyboardInput.nextLine();
} while (!text.equals(""))
如果值为空字符串,将继续请求输入。
答案 1 :(得分:0)
就像这样,程序将等待下面的3个输入。
Scanner in = new Scanner(System.in);
int n,r,c;
n = in.nextInt();
r = in.nextInt();
c = in.nextInt();
对字符串使用in.nextLine()
。
答案 2 :(得分:0)
您的扫描仪无法找到方法hasNextLine()
的任何行,因为您的文字尚未输入(此方法在从文件中读取文字时非常有用)。
如果您要等待用户输入文字使用
text = keyboardInput.nextLine();
并删除if
语句
ps:正如对方说的那样,你应该Scanner keyboardInput = new Scanner(System.in);
没有"