主题:請問一下下面哪邊錯了
在執行地方輸入
+ 1 2 3他會做1+2+3
- 1 2 3他會做1-2-3
* 1 2 3他會做1*2*3
/ 1 2 3他會做1/2/3
而他卻一直跟我說區域變數flag沒有定義,為甚麼阿,if else if那邊不是有定義初始值嗎
public class b {
/**
* @param args
*/
public static void main(String[] args) {
int i, size = args.length;
int sum = Integer.parseInt(args[1]);
int flag;
if(args[0] == "+")
flag = 0;
else if(args[0] == "-")
flag = 1;
else if(args[0] == "*")
flag = 2;
else if(args[0] == "/")
flag = 3;
switch(flag)
{
case 0:
for(i = 2; i < size; i++)
sum += Integer.parseInt(args[i]);
break;
case 1:
for(i = 2; i < size; i++)
sum -= Integer.parseInt(args[i]);
break;
case 2:
for(i = 2; i < size; i++)
sum *= Integer.parseInt(args[i]);
break;
case 3:
for(i = 2; i < size; i++)
sum /= Integer.parseInt(args[i]);
break;
}
for(i = 1; i < size; i++)
{
System.out.print(args[i]);
if(i == (size -1))
{
System.out.print("=");
System.out.print(sum);
break;
}
System.out.print(args[0]);
}
}
}
+ 1 2 3他會做1+2+3
- 1 2 3他會做1-2-3
* 1 2 3他會做1*2*3
/ 1 2 3他會做1/2/3
而他卻一直跟我說區域變數flag沒有定義,為甚麼阿,if else if那邊不是有定義初始值嗎
public class b {
/**
* @param args
*/
public static void main(String[] args) {
int i, size = args.length;
int sum = Integer.parseInt(args[1]);
int flag;
if(args[0] == "+")
flag = 0;
else if(args[0] == "-")
flag = 1;
else if(args[0] == "*")
flag = 2;
else if(args[0] == "/")
flag = 3;
switch(flag)
{
case 0:
for(i = 2; i < size; i++)
sum += Integer.parseInt(args[i]);
break;
case 1:
for(i = 2; i < size; i++)
sum -= Integer.parseInt(args[i]);
break;
case 2:
for(i = 2; i < size; i++)
sum *= Integer.parseInt(args[i]);
break;
case 3:
for(i = 2; i < size; i++)
sum /= Integer.parseInt(args[i]);
break;
}
for(i = 1; i < size; i++)
{
System.out.print(args[i]);
if(i == (size -1))
{
System.out.print("=");
System.out.print(sum);
break;
}
System.out.print(args[0]);
}
}
}