[英]How can I solve this program in another way? I want to know the type of input given by user
這是我編寫的程序,我想以其他方式解決此問題。 我不想使用try-catch語句。
我已經研究了另一種方式,但沒有明確解釋。
import java.io.*;
import java.util.*;
public class TPJava {
public static void main(String args[]) throws Exception {
Scanner scan = new Scanner(System.in);
try {
int int_var = scan.nextInt();
System.out.println("It is an Integer.");
}
catch (InputMismatchException e)
{
try
{
String str_var = scan.next();
System.out.println("It is a String");
}
catch (InputMismatchException ie)
{
try
{
Float f = scan.nextFloat();
System.out.println("It is Float");
}
catch (InputMismatchException ime)
{
System.out.println("Wrong Input.");
}
}
}
}
}
if (XXX instanceof int)
{
System.out.println("It is an integer.");
}
else if (XXX instanceof String)
{
System.out.println("It is a string.");
}
....
(等等)
編輯:找到了一個應該完全適合您的代碼的解決方案。
Scanner scan= new Scanner(System.in);
if(scan.hasNextInt())
{
System.out.println("It is an integer.");
}
else if (scan.hasNextFloat())
{
System.out.println("It is a Float.");
}
....
else
{
System.out.println("It is a String.");
}
這檢查下一個變量是否可以解釋為整數/浮點數等。...我認為“ String”沒有任何內容,因此我只是在那兒使用了“ else”語句
但是:您之后必須使用scan.next()或nextInt之類的東西,否則它將一遍又一遍地繼續使用相同的輸入(我認為)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.