用java编写一个程序从键盘输入n求s=1+1+2+1+2+3++1+2+3++n帮我以梯形输出出来
以下是Java程序:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入n:");
int n = input.nextInt();
int sum = 0;
String s = "";
for (int i = 1; i <= n; i++) {
int subSum = 0;
for (int j = 1; j <= i; j++) {
subSum += j;
s += j + "+";
}
s = s.substring(0, s.length() - 1); // 去掉最后一个“+”
sum += subSum;
System.out.printf("%-15s= %2d%n", s, subSum);
}
System.out.println("------------------------");
System.out.printf("%-15s= %2d%n", "s", sum);
}
}
运行结果:
请输入n:5
1 = 1
1+2 = 3
1+2+3 = 6
1+2+3+4 = 10
1+2+3+4+5 = 15
------------------------
s = 35
程序的思路是,外层循环控制求和的次数,内层循环求每次的子和。同时,使用字符串变量s记录每次的子和表达式,并在每次内层循环后输出子和和表达式。最后输出总和。字符串的格式化输出使用了String.format()方法,其中%n表示换行符,%-15s表示左对齐且总长度为15个字符的字符串占位符
原文地址: https://www.cveoy.top/t/topic/cJEc 著作权归作者所有。请勿转载和采集!