学习练习 java20160507作业

第一题 求水仙花的个数:

    //求水仙花数
        int zongshu = 0;
        for(int i =100; i<=999;i++)
        {
            int bai = i/100;   //求百位上面的数字
            int shi = i%100/10; //求十位上面的数字
            int ge = i%10;      //求个位上面的数字 
            if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
            {
                System.out.println(i);  //满足条件的数字有哪些
                zongshu++;   //符合条件总数就加一个
            }
        }
        System.out.println("水仙花的总数有"+zongshu+"个");

 

第二题 白钱买百鸡:

 1 //百钱百鸡
 2         int zong = 0;
 3         for(int gj = 0 ; gj <20 ; gj++) //一只公鸡5文钱,100文最多买20只公鸡
 4         {
 5             
 6             for(int mj = 0 ; mj <33 ; mj++) //一只母鸡3文钱,100文最多买33只母鸡
 7             {
 8                 if(gj*5+mj*3<=100)   
 9                 {
10                     int xj = (100-(gj*5+mj*3))*3;  //小鸡的数量就是100文减去(公鸡加母鸡的)*2
11                     if(gj+mj+xj==100) //公鸡加母鸡加小鸡等于100只
12                     {
13                         zong++;
14                         System.out.println("公鸡的个数是"+gj+"个");
15                         System.out.println("母鸡的个数是"+mj+"个");
16                         System.out.println("小鸡的个数是"+xj+"个");
17                     }
18                 }
19             }
20         }
21         System.out.println("一共有"+zong+"种方法");

第三题 百马百担:

 1     //百马百担
 2         int zong1 = 0;
 3         for(int dm = 0; dm < 34; dm++)  //大马最多用34只
 4         {
 5             for(int zm = 0; zm <50; zm++) //中马最多用50只
 6             {
 7                 if(dm*3+zm*2<=100)
 8                 {
 9                     int xm = (100-(dm*3+zm*2))*2;//小马的数量等于100担-(大马,中马驼的数量)*2
10                     if(dm+zm+xm==100) //大马加中马加小马等于100只
11                     {
12                         zong1++;
13                         System.out.println("大马的个数是"+dm+"个");
14                         System.out.println("中马的个数是"+zm+"个");
15                         System.out.println("小马的个数是"+xm+"个");
16                     }
17                 }
18             }
19         }
20         System.out.println("一共有"+zong1+"种方法");
21         

第四题  控制台输出九九乘法表:

 1 //九九乘法表
 2         
 3         int x,y;  
 4           
 5         for(x = 1; x <= 9; x++)  //后面的数字
 6         {  
 7             for(y = 1;y <= x; y++)   //前面的数字
 8             {  
 9                 System.out.print(y+"*"+x+"="+x*y+"   ");   
10             }  
11             System.out.println();  //每算一行就换行
12         }  
13   

第五题 控制台输出三角形和菱形:

 1 //打印三角形和菱形
 2         Scanner a = new Scanner(System.in);
 3          System.out.println("请输入打印的行数:");
 4          int hang = a.nextInt();
 5          for (int i = 1 ; i<=hang ; i++)  //i是表示第几行
 6          {
 7              for (int k = 1 ; k <= hang - i ; k++ ) //每行的空格数
 8              {
 9                  System.out.print("    ");  //一个★为2个字符,一共4个空格
10              }
11              for (int x = 1 ; x <= 2*i-1; x++ ) //第i行星星的数量
12              {
13                  System.out.print("★");
14              }
15              System.out.println();
16          }
17         

 

打印菱形:

 1 //打印菱形
 2         Scanner a = new Scanner(System.in);
 3         System.out.println("请输入打印的行数:");
 4         int hang = a.nextInt();
 5         for (int i = 1 ; i<=hang ; i++)  //i是表示第几行
 6         {
 7             for (int k = 1 ; k <= hang - i ; k++ ) //每行的空格数
 8             {
 9                 System.out.print("    ");  //一个★为2个字符,一共4个空格
10             }
11             for (int x = 1 ; x <= 2*i-1; x++ ) //第i行星星的数量
12             {
13                 System.out.print("★");
14             }
15             System.out.println();
16         }
17         for (int q = hang-1 ; q>0 ; q--)    //打印下面的倒三角形(要比上面的少一行)每次递减
18         {
19             for (int w = 1 ; w <= hang - q ; w++ ) //每行的空格数
20             {
21                 System.out.print("    ");     //一个★为2个字符,一共4个空格
22             }
23             for (int e = 1 ; e <= 2*q-1; e++ )  //第i行星星的数量
24             {
25                 System.out.print("★");
26             }
27             System.out.println();
28         }

第六题  冒泡排序:

 1 // 冒泡排序
 2            System.out.println("请输入要排序的个数:");
 3             
 4             Scanner v = new Scanner(System.in);
 5             int geshu = v.nextInt();
 6             int arr[]=new int[geshu];   //定义一个数据来接收数字
 7             
 8             for(int a = 0 ; a < geshu ; a++) 
 9             {
10                 System.out.println("请输入第" + (a+1) + "个数:"); //从第1个数字一直到第a+1个数字
11                 arr[a]=v.nextInt();
12                 
13             }
14             for(int d=1 ; d<=arr.length-1 ; d++)
15             {
16                 for(int b = 1 ; b<=arr.length-d ; b++)
17                 {
18                     if(arr[b-1]<arr[b])
19                     {
20                         int c=arr[b];
21                         arr[b]=arr[b-1];
22                         arr[b-1]=c;
23                         
24                     }                                
25                 }                        
26             }
27             
28             for(int i=0;i<arr.length;i++)
29             {
30                 System.out.println(arr[i]);
31                 
32                 
33             }
34                             
35             
36         }
37 
38     }

原文地址:https://www.cnblogs.com/zhoudi/p/5471562.html