1、 编写程序计算1+2+3+....+100的和.
int a=1,b=100; //依次声明变量,初始项,终止项,并为之赋值
int times,num; //依次声明变量,项数,总和,使用默认赋值
times=(b-a)+1; //获取变量的项数=(末项-前项)+1
num=(a+b)*times/2; //用等差数列的求和公式:和=(前项+末项)×项数÷2
System.out.print(num);//在控制台输出变量的值
2.打印矩阵
1..用到一个三段式思想,左增,中间重复,右减
2..for循环嵌套中,外层是行,内层是列
3..2n-i确定嵌套行数的对称,2 * (n - maxNumber)+1次数的对称
public class Test {
public static void main(String[] args) throws NumberFormatException,IOException {
while (true) {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入数字:");
int num = Integer.parseInt(buf.readLine());
if (!(num > 0 && num <= 9))throw new RuntimeException("请输入1~9数字");
centre(num);
}
}
public static void centre(int n) { //传入中间的数字 也就是最大数字
for (int i = 1; i <= 2 * n - 1; i++) { //行数2n-1 对称关系
int maxNumber = i < n ? i : (2 * n - i);//2n-i 用来确定每一行的最大值 对称
increase(maxNumber);
repeat(2 * (n - maxNumber)+1, maxNumber); //次数(也是对称) 行的max
decrease(maxNumber);
System.out.println();
}
}
public static void increase(int n) {// 递增打印数方法
for (int i = 1; i < n; i++) {
System.out.print(i);
}
}
public static void decrease(int n) {// 递减打印数方法s
for (int i = n - 1; i >= 1; i--) {
System.out.print(i);
}
}
public static void repeat(int times, int maxNumber) {// 重复打印数方法
for (int i = 1; i < times; i++) {
System.out.print(maxNumber);
}
}
}