请高手帮我看看要怎样改才可以达到我想的结果!!
我的想法是当我输入一个数字时。他判断出这个学生的成绩怎样。。我知道用其它的语法可以。。但我都想用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);
}}
解决方案 »
- JRadioButton
- 刚学lucene,索引建立好了,搜索不到为什么呢?
- 请问一些小的应用程序用什么语言写好,然后就是我做出来后把哪些放到其他电脑上,人家直接可以双击使用了。
- new Integer()的问题,请大侠指点
- Java的多语言支持问题
- jFileChooser&&jProgressBar
- 初学jdom!!! 如何取得标签里的值?????
- jbuilder7(企业版)界面里为什麽没有组建栏?
- 我服了!!难以想象!!about JApplet小程序!!卖血送分!!
- java問題
- 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难道是版本问题?