注:通过Scanner类来实现(Scanner 类来获取用户的输入)
两种方法实现了控制台的循环计算
(1)方法名loop1
通过递归的方式实现了是否继续执行
(2)方法名loop2
通过do{}while()方式实现了是否继续执行
方法原理:
通过Scanner类来实现控制台输入值获取
num2的值来获取计算器的符号(+、-、*、/、%)
通过获取的值在来执行后台的计算
里面的if判断符号是通过equals()来判断;结果的到布尔值
注:不用==的原因是,在Java中,如果是基本数据类型,则 == 比较的是值;如果是对象类型,则 == 比较的是对象的地址。
package com.li.face; import java.util.Scanner; /** * == 等于地址 * equals()等于内容 */ public class Face2 { public static void main(String[] args) { loop1(); } //方法1 public static void loop1() { Scanner scan = new Scanner(System.in); System.out.print("请输入一个数字:"); double num1 = scan.nextDouble(); System.out.print("请输入符号:"); String num2 = scan.next(); System.out.print("请输入一个数字:"); double num3 = scan.nextDouble(); if (num2.equals("+")) { System.out.println("输出完成得到结果:" + (num1 + num3)); } else if (num2.equals("-")) { System.out.println("输出完成得到结果:" + (num1 - num3)); } else if (num2.equals("*")) { System.out.println("输出完成得到结果:" + (num1 * num3)); } else if (num2.equals("/")) { System.out.println("输出完成得到结果:" + (num1 / num3)); } else if (num2.equals("%")) { System.out.println("输出完成得到结果:" + (num1 % num3)); } //判断是否继续 System.out.println("继续请输入no,结束请输yes"); String num4 = scan.next(); if (num4.equals("yes")) { loop1(); } } //方法2 public static void loop2() { String num4; do { Scanner scan = new Scanner(System.in); System.out.print("请输入一个数字:"); double num1 = scan.nextDouble(); System.out.print("请输入符号:"); String num2 = scan.next(); System.out.print("请输入一个数字:"); double num3 = scan.nextDouble(); if (num2.equals("+")) { System.out.println("输出完成得到结果:" + (num1 + num3)); } else if (num2.equals("-")) { System.out.println("输出完成得到结果:" + (num1 - num3)); } else if (num2.equals("*")) { System.out.println("输出完成得到结果:" + (num1 * num3)); } else if (num2.equals("/")) { System.out.println("输出完成得到结果:" + (num1 / num3)); } else if (num2.equals("%")) { System.out.println("输出完成得到结果:" + (num1 % num3)); } //判断是否继续 System.out.println("继续请输入no,结束请输yes"); num4 = scan.next(); } while (num4.equals("yes")); } }