這是檢查什麼樣的輸入通過System.in輸入流是可用的,並決定哪些數據類型的變量將其存儲在一個程序的程序代碼是:該程序如何在不知道數據類型的情況下接受數據?
import java.util.Scanner;
public class hasNextNumberDemo
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
System.out.print("Enter your Data :");
if(in.hasNextInt())
System.out.println("You have entered an Integer as : " + in.nextInt());
else if(in.hasNextFloat())
System.out.println("You have entered an Float Value as : " + in.nextFloat());
else if(in.hasNextDouble())
System.out.println("You have entered an Double Value as : " + in.nextDouble());
else
System.out.println("Token not an Integer or a real value.");
}
}
在這裏,我們清楚地看到,該數據可以通過多個點被接受:in.nextInt()
或in.nextFloat()
甚至in.nextDouble()
,但都通過一個語句之前檢查輸入的數據類型(這是有待輸入[經由hasNextInt()
或hasNextFloat()
或hasNextDouble()
])。
我的問題是程序如何決定在接受數據之前下一個標記是什麼數據類型?
此外,如果hasNextInt()
或hasNextFloat()
或hasNextDouble()
觸發數據的輸入,而不是in.nextInt()
或in.nextFloat()
或in.nextDouble()
,那麼如何來有不是3個提示輸入的hasNextInt()
和hasNextFloat()
爲3所不同的函數調用的數據(和hasNextDouble()
)?
我認爲這些'has..'方法顯然等待一些輸入有,以採取行動,並決定什麼是數據類型它是。 –
它不是。例如「.hasNextInt」,只需在用戶提供輸入**後檢查用戶輸入是否可以解釋爲Int **。簡單的谷歌搜索 - [hasNextInt](https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextInt()) – yonisha