首页 > 编程语言 > 详细

java编程题50道(3)

时间:2021-07-13 22:57:02      阅读:23      评论:0      收藏:0      [点我收藏+]

程序11

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

题目思路:

通过三个for循环来实现位数上的变更,在第三个循环时输出并累计数量

 1 package test;
 2 
 3 import java.util.Scanner;
 4 public class hello {
 5 
 6     public static void main(String[] args) {
 7         int sum=0;//统计个数
 8         int a=0;//用于放置当前值
 9         for (int x = 1; x <= 4; x++) {//通过三个for循环来输出
10             for (int y = 1; y <=4; y++) {
11                 for (int z = 1; z <=4; z++) {
12                     a=x*100+y*10+z;
13                     System.out.print(a+" ");
14                     sum++;
15                 }
16             }
17         }
18         System.out.println("共有"+sum+"个");
19     }
20 
21 }

程序12

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

题目思路:

题目不难熟悉掌握if与else if 即可

 1 package test;
 2 
 3 import java.util.Scanner;
 4 public class hello {
 5 
 6     public static void main(String[] args) 
 7     {
 8         Scanner in=new Scanner(System.in);
 9         System.out.print("输入利润");//给与利润
10         double x=in.nextInt();
11         double a=0;//带有小数所以使用double
12         if (x<=10) {
13             a=x*0.1;
14         }
15         else if (x<20) {
16             a=1+(x-10)*0.075;
17         }
18         else if (x<40) {
19             a=1+0.75+(x-20)*0.05;
20         }
21         else if (x<60) {
22             a=1+0.75+1+(x-40)*0.03;
23         }
24         else if (x<100) {
25             a=1+0.75+1+0.6+(x-60)*0.015;
26         }
27         else if (x>100) {
28             a=1+0.75+1+0.6+0.6+(x-100)*0.01;
29         }
30         System.out.println("共有"+a+"万元");
31     }
32 
33 }

程序13

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

题目思路:

用两个数分别存储 i+168 i+100的完全平方数,通过for循环遍历,if判断并输出

 1 package test;
 2 
 3 import java.util.Scanner;
 4 public class hello {
 5 
 6     public static void main(String[] args) 
 7     {
 8         Scanner in=new Scanner(System.in);
 9         int a=0;
10         int b=0;//存储i+100与i+168
11         for (int i = 1; i <100000 ; i++) {
12             a=(int)Math.sqrt(i+100);
13             b=(int)Math.sqrt(i+168);
14             if (a*a==i+100&&b*b==i+168) {//判断是否是完全平方数
15                 System.out.print(i+" ");
16             }
17         }
18         
19     }
20 
21 }    

程序14

题目:输入某年某月某日,判断这一天是这一年的第几天?

题目思路:

首先确定输入的年月日,再以数组存储每个月份的天数,最后在确定闰年

 1 package test;
 2 
 3 import java.util.Scanner;
 4 public class hello {
 5 
 6     public static void main(String[] args) 
 7     {
 8         Scanner in=new Scanner(System.in);
 9         System.out.print("输入年月日");
10         int year=in.nextInt();//获取年月日
11         int months=in.nextInt();
12         int days=in.nextInt();
13         int a=days;
14         int [] month = {31,28,31,30,31,30,31,31,30,31,30,31};//创建数组,存储每个月份天数
15         for (int i = 1; i < months; i++) {
16             a+=month[i];
17         }
18         if (year%4==0&&year%100!=0||year%400==0) {//若是普通闰年或世纪闰年,且月份大于等于三则再加一
19             if (months>=3) {
20                 a+=1;
21             }
22         }
23         System.out.print("是"+a+"天");
24             }
25         
26         
27     
28 
29 }    

程序15

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

题目思路:

先获取三个数,从小到大输出,两个数相比较保证先后的大小

 1 package test;
 2 
 3 import java.util.Scanner;
 4 public class hello {
 5 
 6     public static void main(String[] args) 
 7     {
 8         Scanner in=new Scanner(System.in);
 9         System.out.print("输入三个数");
10         int x=in.nextInt();//获取三个数
11         int y=in.nextInt();
12         int z=in.nextInt();
13         int a=0;
14         if (x>y) {//保证第二个数大于第一个数
15             a=y;
16             y=x;
17             x=a;
18         }
19         if (x>z) {//保证第三个数大于第一个数
20             a=z;
21             z=x;
22             x=a;
23         }
24         if (y>z) {//保证第三个数大于第二个数
25             a=z;
26             z=y;
27             y=a;
28         }
29         System.out.print(x+" ");//输出
30         System.out.print(y+" ");
31         System.out.print(z);
32     }
33 }    

 

java编程题50道(3)

原文:https://www.cnblogs.com/ljjforever/p/15008304.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!