[英]Issues reading string input in Java with scanner class
說到 Java,我幾乎是一個完全的新手。 我已經涉足了 python 和 VB.net,僅此而已。
我正在嘗試用 java 編寫一個程序,該程序從字面上讀取用戶的輸入並使用以下代碼將其顯示回給他們:
import java.util.Scanner;
public class InputTesting
{
public static void main( String[] args )
{
Scanner input = new Scanner ( System.in );
String str1;
System.out.println("Input string: ");
str1 = input.nextString();
System.out.println( str1 );
}
}
我得到了錯誤:
InputTesting.java:13: error: cannot find symbol
str1 = input.nextString();
^
symbol: method nextString()
location: variable input of type Scanner
1 error
有人可以告訴它為什么不編譯嗎? 謝謝!
input.nextString();
Scanner
類中沒有名為nextString
方法。 這就是為什么你得到的錯誤cannot find symbol
。
嘗試
input.nextLine(); // If you're expecting the user to hit enter when done.
input.next(); // Just another option.
import java.util.Scanner;
public class InputTesting
{
public static void main( String[] args )
{
Scanner input = new Scanner ( System.in );
String str1;
System.out.println("Input string: ");
str1 = input.next();
System.out.println( str1 );
}
}
您可以使用input.nextXXX()
javadoc中詳述的input.nextXXX()
之一。 解決編譯器錯誤
在你的情況下
你可以使用input.nextLine();
得到整行文字。
默認情況下,掃描儀使用的空白分隔符。 但是,如果需要掃描由分隔符分隔的輸入序列,則useDelimiter
可用於設置正則表達式分隔符
public static void main(String[] args) {
try (Scanner input = new Scanner(System.in);) {
input.useDelimiter(";");
while (input.hasNext()) {
String next = input.next();
if ("DONE".equals(next)) {
break;
}
System.out.println("Token:" + next);
}
}
}
輸入
1a;2b;3c;4d;5e;DONE;
產量
Token:1a
Token:2b
Token:3c
Token:4d
Token:5e
掃描十進制和帶符號的數字時要小心,因為掃描是Locale
Dependent
您需要使用方法nextLine()
。 此方法打印整行。 通過使用next()
,它將在您的句子中只打印一個單詞。
// 這就是我管理輸入字符串的解決方案的方式
導入 java.util.Scanner; 公共課回文詞{
public static void main(String[] args) {
//System.out.println("Enter a string: ");
Scanner input = new Scanner(System.in);
String S = input.next();
String reverseStr = "";
int strLength = S.length();
for (int i = (strLength - 1); i >=0; --i) {
reverseStr = reverseStr + S.charAt(i);
}
if (S.equals(reverseStr)) {
System.out.println("Yes");
}
else {
System.out.println("No");
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.