请高手帮我看看要怎样改才可以达到我想的结果!!
我的想法是当我输入一个数字时。他判断出这个学生的成绩怎样。。我知道用其它的语法可以。。但我都想用swhile看行不行谢谢!!我写的如下,一定不行。需要怎样改请指叫:
import java.io.*;
public class weitch
{
public static void main (String []args) throws IOException
{
int k=0;
k=(int)System.in.read();
String str=null;
switch(k)
{
case 1:
str+="成绩不合法";
break;
case 2:
str+="成绩级格";
break;
case 3:
str+="成绩优秀";
break;
case 4:
str+="成绩优良";
break;
default:
str+="非法";
break;
}
System.out.println(str);
}}
我的想法是当我输入一个数字时。他判断出这个学生的成绩怎样。。我知道用其它的语法可以。。但我都想用swhile看行不行谢谢!!我写的如下,一定不行。需要怎样改请指叫:
import java.io.*;
public class weitch
{
public static void main (String []args) throws IOException
{
int k=0;
k=(int)System.in.read();
String str=null;
switch(k)
{
case 1:
str+="成绩不合法";
break;
case 2:
str+="成绩级格";
break;
case 3:
str+="成绩优秀";
break;
case 4:
str+="成绩优良";
break;
default:
str+="非法";
break;
}
System.out.println(str);
}}
解决方案 »
- 为什么eclipse里包内不能建包?
- 怎样解析XML速度更快
- 我的JCtreator遇到中文都不行,怎么回事啊?
- 问一个 菜鸟问题 但有可能许多人都没注意到java现象 请各位大虾指点
- 一个初学者
- 初学者之问:在showInputDialog中,当用户没有输入任何内容时,如何弹出一个对话筐提示?
- 关于ThreadLocal
- 在linux下要做java程序,可不可以先在windows下做然后移植?
- 100分寻求Tomcat和Apache的下载地点!(急)
- 求教关于socket通信
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:2
- 最近在做https双向认证的时候发现异常请帮忙看看
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Scanner;public class Weitch { public static void main(String[] args) throws IOException {
int k = 0; Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
k = scanner.nextInt(); String str = null;
// System.out.println(k);
switch (k) {
case 1:
str = "成绩不合法";
break;
case 2:
str = "成绩级格";
break;
case 3:
str = "成绩优秀";
break;
case 4:
str = "成绩优良";
break;
default:
str = "非法";
break; }
System.out.println(str); } }}
/*result:
1
成绩不合法
2
成绩级格
3
成绩优秀
4
成绩优良
5
非法
6
非法
*/
char in = s.next().charAt();
然后接着switch也可以
String comment;
if(console != null){
String grade = console.readLine("%s","请输入成绩[1-4]:");
switch(grade){
case "1": comment = "成绩差";break;
case "2": comment = "成绩合格"; break;
case "3": comment = "成绩优秀"; break;
case "4": comment = "成绩优良"; break;
default: comment = "你很特别"; break;
}
}
第二,你这样直接处理的k的值为48+你输入的数,要改的话,在后面填一个k = k - 48;
第三,你的String str= null; 后面应该直接赋值,即直接str="非法"; 用"=",而不是"+="
你将上面的改正一下就可以得到你要的结果了。
import java.io.IOException;
import java.util.Scanner;
public class Weitch
{public static void main (String []args) throws IOException
{
int k=0;
Scanner in = new Scanner(System.in);
k = in.nextInt();
String str="";
switch(k)
{
case 1:
str+="成绩不合法";
break;
case 2:
str+="成绩级格";
break;
case 3:
str+="成绩优秀";
break;
case 4:
str+="成绩优良";
break;
default:
str+="非法";
break;}
System.out.println(str);
}
}注释:通过扫描器对象in,能够把你输入的内容读出,再通过in对象的nextInt方法得到一个刚才你输入的整数。
才开始学java请问上面二个语句什么意思。且什么作用。
public class Test {
public static void main (String []args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
String str = "";
switch(k) {
case 1: str+="成绩不合法"; break;
case 2: str+="成绩级格"; break;
case 3: str+="成绩优秀"; break;
case 4: str+="成绩优良"; break;
default: str+="非法"; break;
}
System.out.println(str);
}
}这是switch语句
可以用while的:
api文档下载:
http://hi.baidu.com/kfind/blog/item/db5be23da25e2bc29f3d628d.html
java.lang.Error: 无法解析的编译问题:
Scanner 无法解析为类型
Scanner 无法解析为类型我用的是j2re1.4.2难道是版本问题?