Напишите программу, которая принимает два числа и оператор типа (+, -, *,/) в качестве аргументов командной строки и выполняет соответствующую операцию, указанную оператором. Если пользователь вводит любой другой символ, будет отображено соответствующее сообщение. Вывод программы должен отображаться пользователю.
Мой код - это
public class Practical4
{
public static void main(String[] args)
{
if(args.length==0)
{
System.out.println("No arguments are passed");
}
else
{
int a=Integer.parseInt(args[0]);
String p=args[1];
int b=Integer.parseInt(args[2]);
switch(p)
{
case "+":
System.out.println("Addition of "+a+" and "+b+" : "+(a+b));
break;
case "-":
System.out.println("Subtraction of "+a+" and "+b+" : "+(a-b));
break;
case "*":
System.out.println("Multiplication of "+a+" and "+b+" : "+(a*b));
break;
case "/":
System.out.println("Division of "+a+" and "+b+" : "+(a/b));
break;
case "%":
System.out.println("Modulo of "+a+" and "+b+" : "+(a%b));
break;
default:
System.out.println("Please Enter '+', '-', '*', '/' & '%' operator only.");
}
}
}
}
и я получаю эту ошибку
java:17: incompatible types
found : java.lang.String
required: int
switch(p)
^
1 error
Пожалуйста, дайте решение. благодаря
попробуйте это: потому что string
java 7
onward поддерживается в случае switch
.
перед java 7
вы должны сделать следующее:
public class Practical4
{
public static void main(String[] args)
{
if(args.length==0)
{
System.out.println("No arguments are passed");
}
else
{
int a=Integer.parseInt(args[0]);
char p=args[1].charAt(0);
int b=Integer.parseInt(args[2]);
switch(p)
{
case '+':
System.out.println("Addition of "+a+" and "+b+" : "+(a+b));
break;
case '-':
System.out.println("Subtraction of "+a+" and "+b+" : "+(a-b));
break;
case '*':
System.out.println("Multiplication of "+a+" and "+b+" : "+(a*b));
break;
case '/':
System.out.println("Division of "+a+" and "+b+" : "+(a/b));
break;
case '%':
System.out.println("Modulo of "+a+" and "+b+" : "+(a%b));
break;
default:
System.out.println("Please Enter '+', '-', '*', '/' & '%' operator only.");
}
}
}
}
В старых версиях java вы не можете перебирать строку в строке. Это разрешено только с java 7: qaru.site/questions/925874/... Либо обновите свою версию Java, либо конвертируйте p в char