首页新闻找找看学习计划

java编程

0
[待解决问题]

若输入的数字不在0~100范围内的,则提示重新输入,应给怎么写?

为什么不可以这样写:else(x<0||x>100)

                             System.out.println("请重新输入!");

零基础的主页 零基础 | 菜鸟二级 | 园豆:210
提问于:2015-04-19 19:29
< >
分享
所有回答(4)
0

不应该是if吗,亲

I,Robot | 园豆:9461 (大侠五级) | 2015-04-19 19:42
0

把前面的if语句也贴出来,才能比较清楚你的问题所在

晴朗路 | 园豆:373 (菜鸟二级) | 2015-04-19 19:44

import java.io.*;
public class J209 {

public static void main(String[] args) throws IOException
{
// TODO 自动生成的方法存根
int x ;
String str;
BufferedReader buf;
boolean isAllDigit;
do{

System.out.print("请输入学生成绩(0-100)之间:");
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();

//增加判断str是否包含非数字,如果不是全数字,重新输入
isAllDigit = isNumeric(str); //函数调用,java里叫方法调用
}while(!isAllDigit);
x=Integer.parseInt(str); //用户输入的字符串转换成数字
if(x>=85)
System.out.println("成绩优秀!");
else if(x>=75)
System.out.println("成绩良好!");
else if(x>60)
System.out.println("成绩及格!");
else if(x<=60)
System.out.println("成绩不及格!");

}

//定义isNumeric,用来判断一个字符串是否全数字
public static boolean isNumeric(String str){
for (int i = 0; i < str.length(); i++){
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}


}

支持(0) 反对(0) 零基础 | 园豆:210 (菜鸟二级) | 2015-04-19 22:37

@恨极在天涯: 写成这样

else(x<0||x>100)

                             System.out.println("请重新输入!");的时候你得确保你输入的x值是数字。判断是否为全为数字,建议你用正则表达式去判断,那样简洁明了。

支持(0) 反对(0) 晴朗路 | 园豆:373 (菜鸟二级) | 2015-04-20 09:04
0

这样?

 

else if(x<0||x>100)

                             System.out.println("请重新输入!");

Lucien! | 园豆:371 (菜鸟二级) | 2015-04-19 19:49
0

可以这样不??

 

  !(x>0 && x<100)

 

包含0或者100 就加一个等号就行

阿豪best | 园豆:195 (初学一级) | 2015-04-20 00:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册