2012-10-06 23 views
2

每次我用這個代碼:我的用戶輸入代碼有什麼問題?

import java.util.*; 

public class Main{ 

public static void main (String args []){ 
System.out.println("What is your name?"); 
Scanner name = new Scanner (System.in); 
System.out.println("Hello," + name); 
} 
} 

這給了我隨機的字母,如:

你好,java.util.Scanner中的[分隔符= \ p {} javaWhitespace +] [位置= 0] [ match valid = false] [need input = false]

請別人幫忙。

回答

2

因爲你所做的實際上只是打印掃描儀的toString方法,因爲在你的代碼中,對象名實際上是掃描器的一個實例,它不是一個字符串。

您需要調用該方法來實際讀取用戶輸入。

你需要做的是做這樣的事情

import java.util.*; 

public class Main{ 

public static void main (String args []){ 
System.out.println("What is your name?"); 
Scanner scanner = new Scanner (System.in); 
String name = scanner.next(); 
System.out.println("Hello," + name); 
} 
} 
+0

謝謝!有用。 –

0
Scanner name = new Scanner (System.in); 

使用這個你已經創建了一個掃描參考。使用該閱讀名稱,如

String str = name.next(); 

閱讀Scanner類的更多細節。

0

您正在打印掃描儀的參考。 如果你想輸入一個整數,寫

Scanner in = new Scanner(System.in); 
int n = in.nextInt(); 

如果你想輸入一個字符串,寫

Scanner in = new Scanner(System.in); 
    String n = in.next();