黑马程序员技术交流社区
标题:
弱弱的请教一下【已解决】
[打印本页]
作者:
丁乐
时间:
2012-6-2 23:12
标题:
弱弱的请教一下【已解决】
本帖最后由 丁乐 于 2012-6-3 09:50 编辑
怎么让代码运行以后 输入数字键以外的键 同样返回 输入错误 ,
import java.io.*;
class Demo {
public static void main(String args[]) throws Exception{
System.out.println("请输入一个1~7的数,将给你返回一周中的日期!");
while(true){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String lines =br.readLine();
int x=Integer.parseInt(lines);
if(x>=1&&x<=7){
System.out.println(showWeek(x));
}else{
System.out.println("输入错误!");
}
}
}
static String showWeek(int x){
String[] arr={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
return arr[x-1];
}
}
复制代码
作者:
袁錦泰
时间:
2012-6-2 23:56
我个人认为需要正则表达式,定义你输入的格式.
我对那个不太熟悉,所以只能给你一个思路.
看看其他同学有没有好方法.
作者:
刘伯阳
时间:
2012-6-3 00:03
本帖最后由 刘伯阳 于 2012-6-3 00:08 编辑
先上修改的代码:
import java.io.*;
import java.util.Scanner;
public class demo {
public static void main(String args[]){
System.out.println("请输入一个1~7的数,将给你返回一周中的日期!");
while(true){
Scanner in = new Scanner(System.in);
String x = in.nextLine();
try {
if(Integer.parseInt(x)>=1&&Integer.parseInt(x)<=7){
System.out.println(showWeek(x));
}
else{
System.out.println("输入错误!");
}
} catch (Exception e) {
System.out.println("输入错误!");
}
}
}
static String showWeek(String x){
String[] arr={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
return arr[Integer.parseInt(x)-1];
}
}
你在main方法中把异常throw出去了,就不进行异常处理,我们只要在出现问题的地方用try{}catch{}包装起来并抛出提示信息就行了~
作者:
杜俊彪
时间:
2012-6-3 00:15
本帖最后由 杜俊彪 于 2012-6-3 00:18 编辑
import java.io.*;
class Demo1 {
public static void main(String args[]) throws Exception{
System.out.println("请输入一个1~7的数,将给你返回一周中的日期!");
while(true){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String lines =br.readLine();
if(lines.matches("^[1-7]*$")){
int x=Integer.parseInt(lines);
System.out.println(showWeek(x));
}else{
System.out.println("输入错误!");
}
}
}
public static String showWeek(int x){
String[] arr={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
return arr[x-1];
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2