zf934591037 2017-07-16 16:03 采纳率: 100%
浏览 1770
已采纳

java制作计算器功能遇到的问题

import java.util.Scanner;

class demo2
{

public static void main(String[] args)

{

Scanner scanner = new Scanner(System.in);
System.out.println("请选择你要使用的计算器功能:");

System.out.println("1:加 2:减 3:乘 4:除 5:平方");
int n = scanner.nextInt();

/*1*/ if (n =1)
{
System.out.println("请输入第一个数据(必须遵循算数规则):");
long num1 = scanner.nextInt();

System.out.println("请输入第二个数据:");
long num2 = scanner.nextInt();
System.out.println("所得的结果为:"+(num1+num2));
return;
}
/*2*/ if (n>1 || n {
System.out.println("请输入第一个数据(必须遵循算数规则):");
long num1 = scanner.nextInt();
System.out.println("请输入第二个数据:");
long num2 = scanner.nextInt();
System.out.println("所得的结果为:"+(num1-num2));
return;
}
/*3*/ if (n>2 || n {
System.out.println("请输入第一个数据(必须遵循算数规则):");
long num1 = scanner.nextInt();
System.out.println("请输入第二个数据:");
long num2 = scanner.nextInt();
System.out.println("所得的结果为:"+(num1*num2));
return;
}
/*4*/ if (n>3 || n {
System.out.println("请输入第一个数据(必须遵循算数规则):");
long num1 = scanner.nextInt();
System.out.println("请输入第二个数据:");
long num2 = scanner.nextInt();
System.out.println("所得的结果为:"+(num1/num2));
return;
}
/*5*/ if (n>4)
{
System.out.println("请输入平方数据(必须遵循算数规则):");
long num1 = scanner.nextInt();

System.out.println("所得的结果为:"+(num1*num1));
return;
}

}

}

这是打算做一个计算器的功能,遇到了3个问题
1:通过输入数字选择计算器功能(1、加法  2、减法 。。。),我想用if(n=1),if(n=2) 这种的,但是报错:错误: 不兼容的类型: int无法转换为boolean
                                      /*1*/   if (n =1)
                                                     ^
                所以只能用了n<2表示n=1...                                   >
2:从选择乘法开始,也就是n=3(n>2 || n<4)时开始,计算的结果是减法,选择除法也是                                                                      >
3: 我想做到输入数据算出结果后,不是直接结束,而是跳转到最前面,继续重新选择计算器功能

求大神解惑,新学java,懂得很少,问题也比较多
  • 写回答

9条回答 默认 最新

  • 丵鹰 2017-07-17 01:12
    关注

    第一个问题 :if使用的是判断符==而不是赋值符=
    第二个问题:你使用的短路或,意思是只要一个成功那么这个条件就是成功的,而非0数据n都是代表ture
    第三个问题:加死循环,在加break的判断标识,什么时候想退出,就执行break条件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题