java基础小程序

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);     

             }

      }

}

 

 

posted @ 2012-12-13 21:11  奥东  阅读(266)  评论(0编辑  收藏  举报