第2次Java作业+LSYang

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第2次Java作业+LSYang相关的知识,希望对你有一定的参考价值。

【P62 1】打印出1~10000范围中所有的“水仙花数”

 1 public class JavaA1{
 2     public static void main(String args[]){
 3         int i=0, m = 100, n = 999, a = 0, b = 0, c = 0, d = 0;
 4         for (i = m; i <= n; i++)
 5         {
 6             a = i / 100;
 7             b = (i / 10) % 10;
 8             c = i % 10;
 9             if (i==a*a*a + b*b*b + c*c*c)
10                 System.out.print(i+"\\t");
11         }
12     }
13 }

程序运行结果

技术分享

 ↓ 使用方法返回

 1 public class JavaA2{
 2     public static void main(String args[]) {
 3         for (int i = 100; i <= 999; i++) {
 4             if (isNum(i)) {
 5                 System.out.print(i + " ");
 6             }
 7         }
 8     }
 9  
10     public static boolean isNum(int n) {
11         int a = n / 100; //百位
12         int b = n % 100 / 10;//十位
13         int c = n % 10;//个位
14         return n == a * a * a + b * b * b + c * c * c;
15     }
16 }

程序运行结果

技术分享

? 水仙花数”是指一个3位数其各位数字立方和等于该数本身。因为是三位数,所以不用从1循环到10000,直接从100到999。

 

【P62 6】求13-23+33-43+…+973-983+993-1003的值

 1 public class JavaA6{
 2     public static void main(String args[]){
 3         int i=1,sum=0;
 4         for(i=1;i<=100;i++){
 5             if(i%2!=0){
 6                 sum+=i*10+3;
 7             }
 8             else{
 9                 sum-=i*10+3;
10             }
11         }
12     System.out.println("值为"+sum);
13     }
14 }

程序运行结果

技术分享

 

【P62 10】求1~1000之间可以同时被3、 5、 7整除的数字。

1 public class JavaA10{
2     public static void main(String args[]){
3         for(int i=1;i<=1000;i++){
4             if(i%3==0&&i%5==0&&i%7==0)
5                 System.out.println("i="+i);
6         }
7     }
8 }

程序运行结果

技术分享

 

【P62 11】求1!+2!+3!+…+20!的值

 1 public class JavaA11{
 2     public static void main(String args[]){
 3         int sum=0, item=1, i, j;
 4         for (i = 1; i <= 20; i++)
 5         {
 6             for (j = 1; j <= i; j++)
 7             {
 8                 item = j*j;
 9             }
10             sum = sum + item;
11         }
12     System.out.println("1!+2!+3!+…+20!="+sum);
13     }
14 }

程序运行结果

技术分享

 

 【P89 4】定义一个整型数组,求出数组元素的和、最大值和最小值。

 1 public class JavaA4{
 2     public static void main(String args[]){
 3         int num[] = {67,89,87,69,90,100,75,90} ;        
 4         int max = 0 ,min = 0 ,sum = 0;                        
 5         max = min = num[0] ;                
 6         for(int i=0;i<num.length;i++){        
 7             if(num[i]>max){                
 8                 max = num[i] ;            
 9             }
10             if(num[i]<min){                
11                 min = num[i] ;            
12             }
13             sum+=num[i];
14         }
15         System.out.println("和:" + sum) ;
16         System.out.println("最大值:" + max) ;
17         System.out.println("最小值:" + min) ;
18     }
19 };

程序运行结果

技术分享

 

【P89 8】有30个0~9之间的数字,分别统计0~9这10个数字分别出现了多少次。

 1 public class JavaA5{
 2         public static void main(String args[]){        
 3                 int score[]={3,8,7,5,7,0,0,3,3,8,7,6,8,0,1,8,2,1,2,3,6,0,1,9,6,8,9,0,3,5};      
 4                 int count[]=new int[10];      
 5                 int c=0;      
 6                    for(int a=0;a<10;a++){              
 7                         for(int b=0;b<30;b++){                  
 8                                    if(score[b]==a){
 9                                       count[c]++;   
10                                 }
11                            }               
12                         c++;              
13                 }            
14                 System.out.println("这十个数分别出现的次数为:");              
15                 for(int d=0;d<10;d++){              
16                         System.out.println("数字"+d+"出现的次数为"+count[d]+",");   
17                 }  
18         }   
19 } 

程序运行结果

技术分享

↓ 使用Java Random()函数 随机生成数字

 1 public class JavaA3{
 2         public static void main(String args[]){      
 3                 java.util.Random random=new java.util.Random();      
 4                 int score[]=new int[30];      
 5                 int count[]=new int[10];      
 6                 int c=0;      
 7                 System.out.print("随机生成的30个数为:");            
 8                 for(int i=0;i<30;i++){                     
 9                     score[i]=Math.abs(random.nextInt()%10);                  
10                     System.out.print(score[i]+","); 
11         }            
12                    for(int a=0;a<10;a++){              
13                         for(int b=0;b<30;b++){                  
14                                    if(score[b]==a){
15                                       count[c]++;   
16                                 }
17                            }               
18                         c++;              
19                 }            
20                 System.out.println("这十个数分别出现的次数为:");              
21                 for(int d=0;d<10;d++){              
22                         System.out.println("数字"+d+"出现的次数为"+count[d]+",");   
23                 }  
24         }   
25 } 

程序运行结果

技术分享

?JavaRandom()函数 随机生成数字用法还不是很理解

参考资料:http://www.cnblogs.com/ningvsban/p/3590722.html

 

【P173 1】编写并测试一个代表地址的Address类,地址信息由国家、省份、城市、街道、邮编组成,并可以返回完整的地址信息。

 

 1 class Address{
 2     String country;
 3     String province;
 4     String city;
 5     String street;
 6     String zipcode;
 7     public void tell(){
 8         System.out.println("国家:"+country+"\\n"+"省份:"+province+"\\n"+"城市:"+city+"\\n"+"街道:"+street+"\\n"+"邮
 9 
10 编:"+zipcode);
11     }
12 }
13 public class JavaA7{
14     public static void main(String args[])
15     {
16         Address per = null;
17         per = new Address();
18         per.country = "中国";
19         per.province = "山东省";
20         per.city = "青岛市";
21         per.street = "人民路";
22         per.zipcode = "266000";
23         per.tell();
24     }
25 }

程序运行结果

技术分享

以上是关于第2次Java作业+LSYang的主要内容,如果未能解决你的问题,请参考以下文章

软件工程(2018)第二次结对作业

java第11次作业

第8次作业

第二次作业

java第10次作业

第4次作业类测试代码+098+吴超