一、浅谈构造方法
构造方法与类名相同,无返回值类型,创建类对象时自动调用
public class Test1 {
public Test1() {
System.out.println("这是构造方法");
}
public static void main(String[] args) {
Test1 test = new Test1();
Test1 test1 = new Test1();
}
}
运行结果:
这是构造方法
这是构造方法
可以看到创建对象就会调用构造方法并且可以反复初始化
详细构造语法点击这里
二、开始编写
public class Counter {
static Scanner scan = new Scanner(System.in);
static double result = 0.0;
static double num1 = 0.0;
static double num2 = 0.0;
public Counter() {//构造方法
System.out.println("请输入一个数:");
num1 = panDuanDouble();
result = num1;
}
public static double panDuanDouble() {//判断输入的是否为数字,最后返回一个数字
double num = 0;
boolean validInput = false;
while (!validInput) {//输入一个数
if (scan.hasNextDouble()) {
num = scan.nextDouble();
validInput = true; // 输入合法(数字),退出循环
} else {
System.out.println("您输入的不是数字,请重新输入:");
scan.next(); // 读取无效输入(字符串),继续下一轮循环
}
}
return num;
}
public void count() {
System.out.println("请输入运算符:");
String gs = scan.next();
switch(gs) {
case "+":
System.out.println("请输入一个数:");
num2 = panDuanDouble();
result+=num2;
count();//递归
break;
case "-":
System.out.println("请输入一个数:");
num2 = panDuanDouble();
result-=num2;
count();
break;
case "*":
System.out.println("请输入一个数:");
num2 = panDuanDouble();
result*=num2;
count();
break;
case "/":
System.out.println("请输入一个数:");
num2 = panDuanDouble();
result/=num2;
count();
break;
case "=":
//当输入的运算符是等号时结束,输出结果
System.out.println("结果为:"+result);
break;
default:
System.out.println("您输入的运算符有误,请重新输入:");
count();
break;
}
}
}
public class Test {
public static void main(String[] args) {
Counter c = new Counter();
c.count();
}
}
运行结果如下图:
请输入一个数:
1
请输入运算符:
+
请输入一个数:
2
请输入运算符:
*
请输入一个数:
3
请输入运算符:
=
结果为:9.0