import java.io.*;
class sum
{
public static void main(String args[])throws IOException
{
int data= System.in.read();
if(data>=1&&data<=12)
{
switch(data)
{
case 1:
System.out.println("30");
break;
case 2:
System.out.println("30");
break;
}
}
else
System.out.println("err");
}
}
这个程序是输入1或2选择switch语句中的两个,编译没什么问题,就是输入1或是2都会输出err,完全没有执行switch中的语句.
參考答案:你输入1后其实程序获得的不是1这个数,而是‘1’这个字符,转换为int就是49,所以data肯定不在你要求的1~12的范围内。我修改了一下,你试试
======================================================================
import java.io.*;
class sum
{
public static void main(String args[])throws IOException
{
int data= System.in.read();
switch(data)
{
case '1':
System.out.println("1");
break;
case '2':
System.out.println("2");
break;
default:
System.out.println("err");
}
}
}