黑马程序员技术交流社区

标题: day04练习 [打印本页]

作者: 李慧兵    时间: 2015-10-1 10:39
标题: day04练习
1:用for循环完成如下案例

  求1-100偶数和

        class Demo1 {
        public static void main(String[] args) {
                int sum = 0;
                for(int i = 1;i<=100;i++) {
                        if(i%2==0) {
                        sum = sum + i;
                        }
                }
                System.out.println(sum);
        }
}
  求1-100奇数和

        class Demo2 {
        public static void main(String[] args) {
                int sum = 0;
                for(int i = 1;i<=100;i++) {
                        if(i%2!=0) {
                        sum = sum + i;
                        }
                }
                System.out.println(sum);
        }
}
  打印水仙花数

class Demo3 {
        public static void main(String[] args) {
               
                int sum = 0;
               
                for(int i = 100;i<=999;i++) {
                int a = i%10;
                int b = i/10%10;
                int c = i/100;
                        if(i==a*a*a+b*b*b+c*c*c) {
                                System.out.println(i);
                       
                        }
                }
               
        }
}

  统计水仙花个数

class Demo4 {
        public static void main(String[] args) {
               
                int sum = 0;
               
                for(int i = 100;i<=999;i++) {
                int a = i%10;
                int b = i/10%10;
                int c = i/100;
                        if(i==a*a*a+b*b*b+c*c*c) {
                               
                         sum++;
                        }
                }
                System.out.println(sum);
        }
}

  九九乘法表

        class DemoA {
        public static void main(String[] args) {
                for(int x=1;x<10;x++) {
                        for(int y=1;y<=x;y++) {
                                System.out.print(y+"*"+x+"="+(y*x)+"\t");
                        }
                        System.out.println();
                }
               
        }
}

  输出 n=6 的三角数字阵
        1        
        2  3  
        4  5  6
        7  8  9  10
        11 12 13 14 15
        16 17 18 19 20 21

                       
        方法二:class  AAA{
        public static void main(String[] args) {
                int count=0;
                for(int i=1;i<7;i++){
                        for(int j=1;j<=i;j++){
                               
                                count++;
                                System.out.print(count+"\t");
                        }
                        System.out.println();
                }
        }
}

方法一: class T1 {
        public static void main(String[] args) {
                int a=1;
                for (int x = 1; x < 7; x++) {
                        int y=0;
                        while(y<x){
                        System.out.print(a+"\t");
                       
                        j++;
                        a++;
                        }
                        System.out.println();
                }
       
}
}

2:用while循环完成如下案例
  
  已知纸张厚度:0.01米,珠峰高度为8848米
  求:纸张折叠多少次能达到珠穆朗玛峰的高度

        方法一:class XX {
        public static void main(String[] args) {
                        int x=1;
                        int y=(int)Math.pow(2,x);
                        double k=y*0.01;
                        while(k<=8848) {       
                        x++;
                        y=(int)Math.pow(2,x);
                        k=y*0.01;
                        }
                       
                        System.out.println(x);
                       
                }
                       
}

        方法二:class XX {
        public static void main(String[] args) {
                        int count = 0;
                        double x=0.01;
                       
                        while(x<8848) {
                                x=x*2;
                                count++;
                        }
                        System.out.println(count);
                }               
}


3:break, continue 和 return 分别有什么用?
        break:跳出循环,可用于选择跟循环。
        continue:结束本次循环,进入下一次循环。
        return:跳出函数(方法)。

4:方法的概念?方法的格式?格式的解释说明
        1,具有某个功能的代码块(函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法)。
        2,修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2......){
                执行语句;
                return 返回值;
                }
        返回值类型:函数运行后结果的数据类型。
        参数类型:就是形式参数的数据类型。
        形式参数:一个变量,用于存储调用函数时传递给函数的实际参数。
        实际参数:传递给形式参数的具体数值。
       
        return:结束函数。
        返回值:函数运行后的结果,该结果会返回给调用者。
5:方法的调用
        A:明确返回值类型的方法调用
                        class DemoC {
        public static void main(String[] args) {
                        int sum = getMax(1,2);
                        System.out.println(sum);
               
                }
                public static int getSum(int a,int b) {
               
                return a+b;
                }
       
       
        B:void类型的方法调用
                class DemoA {
        public static void main(String[] args) {
                        print(3,2);
                       
               
                }
                public static void print(int row,int col) {
                        for(int x=1;x<=row;x++) {
                                for(int y=1;y<=col;y++) {
                                        System.out.print("*");
                                }
                                System.out.println();
                        }
       
                }
       
}

       
6:方法的练习:
        A:求两个数据之和
                class DemoC {
        public static void main(String[] args) {
                        int sum = getMax(1,2);
                        System.out.println(sum);
               
                }
                public static int getSum(int a,int b) {
               
                return a+b;
                }
       
}

        B:判断两个数据是否相等
                class DemoA {
        public static void main(String[] args) {
                        boolean c = getSum(1,2);
                        System.out.println(c);
               
                }
                public static boolean getSum(int a,int b) {
                       
                return a==b;
                }
       
}


        C:获取两个数中较大的值
        class DemoA {
        public static void main(String[] args) {
                        int max = getMax(1,2);
                        System.out.println(max);
               
                }
                public static int getMax(int a,int b) {
                       
                return (a>b)?a:b;
                }
       
}

       
        D:打印m行n列的星形矩形
                class DemoA {
        public static void main(String[] args) {
                        print(3,2);
                       
               
                }
                public static void print(int row,int col) {
                        for(int x=1;x<=row;x++) {
                                for(int y=1;y<=col;y++) {
                                        System.out.print("*");
                                }
                                System.out.println();
                        }
       
                }
       
}
        E:打印nn乘法表
                class DemoA {
        public static void main(String[] args) {
                        print(9);
                       
               
                }
                public static void print(int row) {
                        for(int x=1;x<=row;x++) {
                                for(int y=1;y<=x;y++) {
                                        System.out.print(y+"*"+x+"="+(y*x)+"\t");
                                }
                                System.out.println();
                        }
       
                }       
}


7:什么是方法重载?
        函数重载:在一个类中,定义了同名函数,只是他们的参数个数或者参数类型不一样与返回值无关。

作者: 旗木卡卡西    时间: 2015-10-31 00:01
多谢赐教
作者: C威    时间: 2015-10-31 01:54
奇数和就不用if判断了,定义一个变量,每次加2就Ok了
作者: 上帝的寵兒    时间: 2015-10-31 09:49
兄弟是哪个班的?
作者: 石三伢子1    时间: 2015-11-6 14:44
全是大神;
作者: 大自然的搬运工    时间: 2015-11-6 15:08
楼主 练得还是很多的吗。。。继续坚持吧 。
如果能 命名类名有意义和添加注释 那就更好了。
重载:方法名相同,参数列表个数,类型,顺序不同,与返回值和修饰符无关。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2