日期:2014-05-20  浏览次数:20954 次

Java初级问题..关于switch case 的.请进...
class   One  
{
public   static   void   main(String   args[])
{
int   num1;
int   num2;
char   sum;
switch(sum)
{
case   '+ '   :   System.out.println(num1+num2);
break;
case   '- '   :   System.out.println(num1-num2);
break;
case   '* '   :   System.out.println(num1*num2);
break;
case   '/ '   :   System.out.println(num1/num2);
break;
default   :   System.out.println( "输入无效 ");
}
}
}

刚学Java就碰到问题了。   .   我是这样写的..错了..我不知道哪里错了..
  题目是:1.创建一个类定义main方法     2.声明两个整型变量和一个字符型变量用来存储两个操作数和一个运算符   3.使用switch   case语句执行必要的运算,并输出结果.

还有..那2个整型变量的值是否可以用户自己输入..比如说输入1+1   结果就是2

------解决方案--------------------
几个变量都没有初始化,肯定不能编译啦。

如果单纯为了练习switch case语句,可以num1、num2赋值,要求用户输入char
------解决方案--------------------
你定义的num1,num2,sum都没有初始化,也就是说没有赋初值。随便给一个初始值就可以了。
如果你要用户输入的话,可以利用String args[],比如,这样定义:
int num1 = Integer.parseInt(args[1]);
int num2 = Integer.parseInt(args[2]);
char sum = args[3].charAt(0);
运行的时候输入:java One 1,1,+
就可以了。
如果你想在控制台上直接输入,那要用到java的io系统,刚学就不用管这个了。

------解决方案--------------------
public static void main(String[] arg) {
int num1;
int num2;
char sum;
Scanner r=new Scanner(System.in);
sum=(r.nextLine().charAt(0));
num1=r.nextInt();
num2=r.nextInt();
switch(sum)
{
case '+ ' : System.out.println(num1+num2);
break;
case '- ' : System.out.println(num1-num2);
break;
case '* ' : System.out.println(num1*num2);
break;
case '/ ' : System.out.println(num1/num2);
break;
default : System.out.println( "输入无效 ");
}
}

------解决方案--------------------
public class shuru1
{
public static void main(String args [])
{
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[2]);
char sum = args[1].charAt(0);
switch(sum)
{
case '+ ' : System.out.println(num1+num2);
break;
case '- ' : System.out.println(num1-num2);
break;
case '* ' : System.out.println(num1*num2);
break;
case '/ ' : System.out.println(num1/num2);
break;
default : System.out.println( "输入无效 ");
}
}
}