黑马程序员技术交流社区

标题: java第四天作业 [打印本页]

作者: gcno93    时间: 2016-8-30 23:15
标题: java第四天作业
1.分析以下需求,并用代码实现:
        (1)打印1到100之内的整数,但数字中包含9的要跳过
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:1 2 3 4 5
class Demo1 {
        public static void main(String[] args) {
                for (int i = 1,j = 1;i <= 100;i++,j++) {
                        if(i == 9 || i % 10 == 9){
                                j--;
                                continue;
                        }
                        System.out.print(i+"\t");
                        if(j % 5 == 0){
                                System.out.println();
                        }
                }
               
        }
}

2.分析以下需求,并用代码实现:
        (1)按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数
        (2)每行输出5个满足条件的数,之间用空格分隔
        (3)如:9999 9988 9977 9966 9955        
class Demo1 {
        public static void main(String[] args) {
                int count=0;//存储个数的变量
                for (int i = 9999;i >=1000 ;i--) {
                        int ge=i % 10;//获得个位
                        int shi=i / 10 %10;//获得十位
                        int bai=i / 10 / 10 %10;//获得百位
                        int qian=i / 10 / 10 / 10 ; //获得千位
                        //判断是否符合
                        if((ge+bai)==(shi+qian)){               
                                count++;//个数增加
                                System.out.print(i+"\t");//输出
                        }else{
                                continue;//不成立退出本次循环
                        }
                        if(count % 5==0){//换行
                                System.out.println();
                        }
                }
               
        }
}

3.分析以下需求,并用代码实现:
        (1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米。
        (2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
class Demo1 {
        public static void main(String[] args) {
                float houdu=0.001f;//纸厚度
                int count=0;//折叠多少次
                while(houdu<=8848){
                        houdu*=2;//进行折叠
                        count++;//添加折叠次数
                }
                System.out.println(count);//输出
        }
}

4.分析以下需求,并用代码实现:
        (1)倒着打印九九乘法表
class Demo1 {
        public static void main(String[] args) {
                //控制行
                for (int i=9;i>=1 ;i--) {
                        //控制列
                        for (int j =i;j>=1 ;j-- ) {
                                System.out.print(i+"*"+ j+"="+(i*j)+"\t");//输出
                        }
                        System.out.println();//换行
                }
        }
}

5.分析以下需求,并用代码实现:
        (1) 计算15+25+35+....+1005的和
class Demo1 {
        public static void main(String[] args) {
                int sum=0;//和
                for (int i=15;i<=1005 ;i+=10 ) {
                        sum+=i;//相加
                }
                System.out.println(sum);//输出
        }
}
       
6.分析以下需求,并用代码实现:
        (1)打印倒直角三角形
                *****
                ****
                ***
                **
                *
class Demo1 {
        public static void main(String[] args) {
                for (int i=5;i>=1 ;i-- ) {//控制行
                        for (int j=1;j<=i ;j++ ) {//控制列
                                System.out.print("*");//输出
                        }
                        System.out.println();//换行
                }
               
        }
}

7.分析以下需求,并用代码实现(每个小需求都要封装成一个方法):
        (1)求两个数据之和(两个整数或者两个小数)
        (2)判断两个数据是否相等(两个整数或者两个小数)
        (3)获取两个数中较大的值(两个整数或者两个小数)
        (4)打印m行n列的星形矩形
        (5)打印nn乘法表
class Demo1 {
        public static void main(String[] args) {
        }
       
        /*
        *求两个数据之和(int)
        */
        public static int sum(int num1,int num2){
                return num1+num2;
        }
        /*
        *求两个数据之和(double)
        */
        public static double sum(double num1,double num2){
                return num1+num2;
        }
        /*
        *判断两个数据是否相等(int)
        */
        public static boolean isEquals(int num1,int num2){
                return num1==num2;
        }
        /*
        *判断两个数据是否相等(double)
        */
        public static boolean isEquals(double num1,double num2){
                return num1==num2;
        }
        /*
        *获取两个数中较大的值(int)
        */
        public static int getMax(int num1,int num2){
                return (num1>num2)?num1:num2;
        }
        /*
        *获取两个数中较大的值(double)
        */
        public static double getMax(double num1,double num2){
                return (num1>num2)?num1:num2;
        }
        /*
        *打印m行n列的星形矩形
        *
        */
        public static void  printStarts(int m,int n){
                for (int i=1;i<=m ;i++ ) {//控制行
                        for (int j=1; j<=m;j++ ) {//控制列
                                System.out.print("*");
                        }
                        System.out.println();//换行
                }
               
        }
        /*
        *打印nn乘法表
        */
        public static void  print99(int num1){
                for (int i=1;i<=num1 ;i++) {
                        //控制列
                        for (int j =1;j<=i ;j++) {
                                System.out.print(i+"*"+ j+"="+(i*j)+"\t");//输出
                        }
                        System.out.println();//换行
                }
        }
}

8.把今天讲过的其他案例再练习一遍
作者: Leaf_    时间: 2016-8-31 00:52
问阳哥
作者: 噜噜吧    时间: 2016-8-31 11:52
不错不错..........




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