java中怎么判断输入的数据是int型还是string型

2025-05-05 02:29:27
推荐回答(4个)
回答1:

楼上说的对但是不符合题意,传参时已经明确了是什么类型

我给段代码吧:
Scanner input = new Scanner(System.in);
try {
input.nextInt();
System.out.println("int");
} catch (Exception ex) {
System.out.println("String");
}

回答2:

public class testGeneric
{

public static void main(String[] args)
{

System.out.println(getType(123));
System.out.println(getType("sssss"));

}
public static String getType(T t){
if(t instanceof String){
return "string";
}else if(t instanceof Integer){
return "int";
}else{
return " do not know";
}

}
}

用泛型写的,当然只是判断的话
if(t instanceof String){
return "string";
}就可以了
运用了java的instanceof 判断1个对象是否一个类的实例。具体的直接百度搜 java instanceof

回答3:

import java.io.*;
public class Numtest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
boolean b = true;
try {
while (b) {
System.out.print("请输入一个有效的整数:");
String s = (String) br.readLine();
for (int j = 0; j < s.length(); j++) {
if (!(s.charAt(j) >= 48 && s.charAt(j) <= 57)) {
System.out.println("您输入的不是纯数字!请重新输入.");
b = true;
break;
}
else{
b = false;
}
}
if (!b) {
int i = Integer.parseInt(s);
System.out.println("您输入的是数字:" + i);
}
}
} catch (Exception e) {
e.printStackTrace();
}

}

回答4:

Scanner 对象 的方法有如下:

next()

nextByte()

nextInt()
要在接收之前就要确定。。所以。。你懂的!