在java中如何对输入的内容进行判断它是字符串还是整型?

如“图书管理系统”中我想问的是:用什么条件来判断下面的情形,请高手指点!intNO[]=newint[100000];Stringname[]=newString[100... 如“图书管理系统”中
我想问的是:用什么条件来判断下面的情形,请高手指点!
int NO[]=new int[100000];
String name[]=new String[100000];
System.out.println("请输入你要借的名称或序号");
???(不知道该用什么类型) choice=input.???(不知道该用什么类型)();
if(如果这里是名称时){
for(int i=0;i<name.length;i++){
if(choice.equals(name[i]))
System.out.println("你要借的名称是:"+choice);
else
System.out.println("没有你要找的名称!");
}else if(如果这里是序号时){
for(int i=0;i<NO.length;i++){
if(choice==NO[i]))
System.out.println("你要借的序号是:"+NO);
else
System.out.println("没有你要找的序号!")
}
}
展开
 我来答
千锋教育
2015-11-30 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
import java.util.Scanner;

/*
 * 基本格式:
 * public boolean hasNextXxx():判断是否是某种类型的元素
 * public Xxx nextXxx():获取该元素
 * 
 * 举例:用int类型的方法举例
 * public boolean hasNextInt()
 * public int nextInt()
 * 
 * 注意:
 * InputMismatchException:输入的和你想要的不匹配
 */
public class ScannerDemo {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);

// 获取数据
if (sc.hasNextInt()) {
int x = sc.nextInt();
System.out.println("x:" + x);
} else {
System.out.println("你输入的数据有误");
}
}
}
分享
woaibb2005
推荐于2018-03-01 · TA获得超过530个赞
知道小有建树答主
回答量:399
采纳率:100%
帮助的人:0
展开全部
算了用Hashtable来实现你这个问题,同时用正则表达式验证是否为数字

import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Scanner;

public class HashTest {

/**
* @param args
* @throws UnsupportedEncodingException
*/
public static void main(String[] args) {
System.out.println("请输入你要借的名称或序号");
Scanner sc = new Scanner(System.in);
String choice = sc.next();
Hashtable<Integer, String> ht = new Hashtable<Integer, String>();
ht.put(11, "数学");
ht.put(2, "语文");
ht.put(13, "历史");
ht.put(4, "政治");
ht.put(25, "化学");
System.out.println(judge(ht,choice));
}
public static String judge(Hashtable<Integer, String> ht,String choice){
Enumeration<Integer> en = ht.keys();
String str=null;
String error="对不起,没有找到你要借的名称或序号!!!";
while (en.hasMoreElements()) {
Object key_num = en.nextElement();
if (choice.matches("^\\d+$")&&key_num.equals(Integer.valueOf(choice))) {
str="你要借的书是:"+key_num;
break;
}
if (ht.get(key_num).equals(choice)) {
str="你要借的书是:"+ht.get(key_num);
break;
}
}
return str==null?error:str;
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef10e91
2009-03-15 · TA获得超过1822个赞
知道大有可为答主
回答量:1223
采纳率:50%
帮助的人:1281万
展开全部
用String接受值,然后
for(int i=0;i<name.length;i++){
if(choice.equals(name[i])) {
System.out.println("你要借的名称是:"+choice);
}else if(chice.equals(NO[i]+"")){
System.out.println("你要借的序号是:"+NO); }
else{
System.out.println("没有你要找的序号!")
}
}
如果非要判断是否是数字,可以用String接受下来之后用正则表达式来判断

if(!choice.matches("\\d+?")){

//非数字
}else{
//数字
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leimiu
2009-03-15 · TA获得超过167个赞
知道答主
回答量:181
采纳率:0%
帮助的人:159万
展开全部
java从cmd接受的输入都是String的。当具体到你需要什么类型时,需要你自己对其转换啦!
String context=输入
int integer=Integer.valuesOf(context);
double d=Double.valuesOf(context);
......
诸如此类。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郝纬aU
2009-03-15
知道答主
回答量:27
采纳率:0%
帮助的人:20.8万
展开全部
楼上正解,都用String吧,要不就别把名称和序号放一起输入,前面先让用户做判断是输入名称还是序号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式