我是java的新手,我正在尝试使用计算器,但是当我写“+”或“ - ”时,它会说“AssignmentOperator无效”,如果没有这个,它会给出很多错误。代码如下。
抱歉我的英语。
(sayi表示数字,sonuc表示结果,toplama /çıkarma/bölme/çarpma表示添加减法/乘法/除法,最后写入(在最后一次println之后)是错误消息。
请帮帮我,我的代码错了吗?
package calismayanhesapmakinesi;
#import java.util.Scanner;
public class calismayanhesapmakinesi {
public static void main(String[] args){
int sayi1,sayi2,sonuc;
char islem;
Scanner input = new Scanner(System.in);
sayi1 = input.nextInt();
System.out.println("1.Sayıyı giriniz");
Scanner input = new Scanner(System.in);
sayi2 = input.nextInt();
System.out.println("2.sayıyı giriniz");
Scanner input = new Scanner(System.in);
islem = input.nextchar;
System.out.println("Yapmak istediğiniz işlem?");
System.out.println("(Toplama için:T, Çıkarma için: C, Çarpma için:A, Bölme için:B yazınız.)");
if(islem=T){
sayi1 + sayi2 = sonuc;
system.out.println("Sonuç:"+sonuc);
}
else if(islem=C){
sayi1-sayi2 = sonuc;
System.out.println("Sonuç:"+sonuc);
}
else if(islem=A){
sayi1 * sayi2 = sonuc;
system.out.println("Sonuç:"+sonuc);
}
else if(islem=B){
sayi1/sayi2 = sonuc;
system.out.println("Sonuç:"+sonuc);
}
else{
system.out.println("Lütfen T, C, A ve B harflerinden birini yazınız.");
}
}
}
答案 0 :(得分:0)
表面上,您需要使用islem == C
而不是islem = C
,因为前者是对相等性的测试,后者是赋值。
然后,您需要引用字符文字:使用islem == 'C'
等。
最后,您需要反过来编写作业:sonuc = sayi1 + sayi2;
答案 1 :(得分:0)
您的数学表达式应为以下形式:
sonuc = sayi1 + sayi2;
而不是:
sayi1 + sayi2 = sonuc;
您要为其分配值的变量位于左侧。此外,您在if
语句中进行的相等比较应使用==
而不是=
。
您还没有定义C
,T
,B
或A
。
我建议阅读一些Java基础知识并理解语法错误的含义。
答案 2 :(得分:0)
分配值的变量位于左侧。
sounuc = sayi1 + sayi2
错误是因为它期望赋值运算符=,但它正在查找数学运算符