今天是黑马java基础班第二天,鹏鹏老师让我们写个小小的计算机程序,初次写码,留个纪念
刚刚开始是这样的
/*
需求:
写一个计算器
思路:
先声明计算机的效果,只能加减乘除
让顾客选择加减乘除,用数字方法选择
然后让顾客输入两个数字
输出提示结果
步骤:
输出语句,这个计算机只能用来做加减乘除的运算,加减乘除分别对应1234,让顾客选择
条件语句,符合哪个用哪个计算,别的错误
提升输入两个数字
打印结果
*/
import java.util.Scanner;
class CounterDemo {
public static void main(String[] args) {
System.out.println("此计算器只能计算加减乘除\n如果选择加法,请输入1\n如果选择减法,请输入2\n如果选择乘法,请输入3\n如果选择除法,请输入4");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //用来界定用户选择的算法类型
if (n>0 && n<5) { //如果n 不是1到4,4个数字,直接是不在计算机能力范围内。
System.out.println("请输入第一个数字");
int number1 = sc.nextInt();// 接收第一个int的数据
System.out.println("请输入第二个数字");
int number2 = sc.nextInt();// 接收第二个int的数据
int result;
if (n == 1) { //如果结果是加法,进行加法运算;
result = number1 + number2;
System.out.print(number1+"+"+number2+"="+result);
}
else if (n == 2) { //如果结果是减法,进行减法运算;
result = number1 - number2;
System.out.print(number1+"-"+number2+"="+result);
}
else if (n == 3) { //同上
result = number1 * number2;
System.out.print(number1+"*"+number2+"="+result);
}
else if (n == 4) { //同上
result = number1 / number2;
System.out.print(number1+"/"+number2+"="+result);
}
}
else {
System.out.println("不在此计算器能力范围内");
}
}
}
后来觉得这样似乎不太好,还需要选择运算符,所以变成这样
/*
需求:计算器能直接输入运算符
思路:
1、说明计算机的性能
2、提示输入第一个数字
3、提示输入运算符
4、提示输入第二个数字
5、输出结果,如果不对,提示
步骤:
1、输出语句,说明计算器性能
2、输入第一个数字
3、输入运算符进行判断,如果是正确的运算符,继续往下输入第二个数字,如果不是,提示不是运算符
4、判断各个运算符,进行运算
*/
import java.util.Scanner;
class CounterDemo {
public static void main(String[] args) {
System.out.println("此计算机支持加法,减法,乘法,除法,余数运算\n请输入第一数字");
Scanner sc = new Scanner(System.in);
int number1 = sc. nextInt();
System.out.println("请输入运算符");
String n = sc.next();
if (n == "+" || n == "-" || n == "*" || n == "/" || n == "%") {
System.out.println("请输入第二个数字");
int number2 = sc.nextInt();
if (n == "+") {
System.out.println(number1+"+"+number2+"="+(number1+number2));
}
else if (n == "-") {
System.out.println(number1+"-"+number2+"="+(number1-number2));
}
else if (n == "*") {
System.out.println(number1+"*"+number2+"="+(number1*number2));
}
else if (n == "/") {
System.out.println(number1+"/"+number2+"="+(number1/number2));
}
else if (n == "%") {
System.out.println(number1+"%"+number2+"="+(number1%number2));
}
}
else
System.out.println("运算符输入错误");
}
}
这个程序虽然编译通过了,但是实际中老是出问题,在运算符输入时,无论是输入+-*/总是直接输出了 运算符输入错误,好不容易经过同学指点,发现了问题,在字符串的比较中,不能用“==”,需要使用equals,于是变成这样,终于得到要求了。
import java.util.Scanner;
class CounterDemo {
public static void main(String[] args) {
System.out.println("此计算机支持加法,减法,乘法,除法,余数运算\n请输入第一数字");
Scanner sc = new Scanner(System.in);
int number1 = sc. nextInt();
System.out.println("请输入运算符");
String n = sc.next();
if (n.equals("+") || n.equals("-") || n.equals("*") || n.equals("/") || n.equals("%")) {
System.out.println("请输入第二个数字");
int number2 = sc.nextInt();
if (n.equals("+")) {
System.out.println(number1+"+"+number2+"="+(number1+number2));
}
else if (n.equals("-")) {
System.out.println(number1+"-"+number2+"="+(number1-number2));
}
else if (n.equals("*")) {
System.out.println(number1+"*"+number2+"="+(number1*number2));
}
else if (n.equals("/")) {
System.out.println(number1+"/"+number2+"="+(number1/number2));
}
else if (n.equals("%")) {
System.out.println(number1+"%"+number2+"="+(number1%number2));
}
}
else
System.out.println("运算符输入错误");
}
}
but,还是有很多不完美哦,现在只能支持int型的,而且,只能是两位数,希望通过后面的学习,更加改进,可以支持各个数据类型,无论是多少个数字的运算,用=好表示结尾,代表最后的结果输出。
|
|