需求:求s=a+aa+aaa+aaaa+aa...a的值,其中a是1到9中的一个数字,该数字有用户从控制台输入,项数(多少项相加)也由用户从控制台输入。
实现结果如下:
import java.util.Scanner;
public class Add {
int x, y;// 定义变量x,y,x指代1~9之间的任意整数,y表示项数
long sum;// 定义变量sum为和
public Add(int x, int y) {// 带两个参数的构造函数
super();
this.x = x;
this.y = y;
}
public void calculator() {
int s = 0;
for (int i = 1; i <= y; i++) {// 循环,条件为项数y
s = s * 10 + x;
sum += s;
if (i != y) {// 打印前y-1项整数相加式子
System.out.print(s + "+");
} else {// 打印最后一项及最终相加结果
System.out.print(s + "=" + sum);
}
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个1-9之间的数字(如5):");
int numX = scan.nextInt();
System.out.println("请输入项数:");
int numY = scan.nextInt();
Add a = new Add(numX, numY);
a.calculator();// 调用计算方法
}
}