当前位置: 首页 > 后端技术 > Java

那些年,我们一起做的Java课后习题(11-15)

时间:2023-04-01 16:51:21 Java

本文已同步到:Muramura例题11.有1、2、3、4四个数,有多少个不同的数可以成立吗?没有重复数字的三位数?这三个数字是多少?直接分析三重循环,然后加上判断语句,让每个三位数字上的数字都不一样!实现/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@公众号:HarukaMuramura*@website:https://cunyu1943.github.io*@date:2021/6/216:46*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example11*@description:*/publicclassExample11{publicstaticvoidmain(String[]args){intcount=0;System.out.println("三位数为:");for(inti=1;i<5;i++){for(intj=1;j<5;j++){if(i!=j){for(intk=1;k<5;k++){如果(i!=k&&j!=k){count++;System.out.print((i*100+j*10+k)+"\t");//每打印5次就换行if(count%5==0){System.out.println();}}}}}}System.out.println("\ntotal"+count+&》;一个不重复的三位数");}}结果示例12公司发放的奖金以利润提成为基础,当利润小于或等于10万元时,奖金可上调10%;金额为20万元时,10万元以下部分按10%提成,10万元以上部分可按7.5%提成;20万元至40万元之间,20万元以上部分可提成5%;40万至60万之间,40万以上部分可提成3%;60万至100万之间,60万以上部分可提成1.5%,100万以上部分在元始,超过100万元部分收取抽取1%的佣金,键盘输入当月利润,问奖金总额?按段分析计算利润即可;实现importjava.util.Scanner;/***CreatedwithIntelliJIDEA。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@:村雨遥*@website:https://cunyu1943.github.io*@date:2021/6/217:14*@project:Java编程实例*@package:PACKAGE_NAME*@className:Example12*@description:*/publicclassExample12{publicstaticvoidmain(String[]args){扫描仪scanner=newScanner(System.in);System.out.println("输入当月利润(万)");intprofit=scanner.nextInt();双倍奖金=0;如果(利润<=10){奖金=利润*0.1;}elseif(10100){bonus=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(profit-100)*0.01;}System.out.println("盈利为"+盈利+"时的奖金为:"+奖金+"10000");}}结果例13题目是一个整数,加100后是一个完全平方数,加上168又是一个完全平方数,是多少?分析假设数为num,则有:num+100=n*n,num+100+168=m*m,则m*m-n*n=(m+n)(m-n)=168阶$m+n=i$,$m-n=j$,$i*j=168$,$i$和$j$中至少有一个是偶数,则$m=(i+j)/2$,$n=(i-j)/2$,$i$和$j$为偶数或奇数。从以上两个推导可以看出,$i$和$j$都是不小于2的偶数。由于$i*j=168$,$j>=2$,则$1j&&(i+j)%2==0&&(i-j)%2==0){m=(i+j)/2;n=(i-j)/2;数=n*n-100;System.out.print(num+"\t");}}}}}结果例14问题输入某年月日,判断这一天是否是当年的某一天?分析输入年月日,然后先判断是不是闰年,然后根据是不是闰年给出2月的天数,最后切换到匹配月份,加上即可天数。实现importjava.util.GregorianCalendar;importjava.util.Scanner;/***使用IntelliJIDEA创建。**@author:库尼u*@version:1.0*@email:747731461@qq.com*@:HarukaMuramura*@website:https://cunyu1943.github.io*@date:2021/6/39:39*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example14*@description:*/publicclassExample14{publicstaticvoidmain(String[]args){扫描仪scanner=newScanner(System.in);整数年=0;int月=0;国际日=0;System.out.println("输入年份:");年=扫描仪.nextInt();System.out.println("请输入月份:");month=scanner.nextInt();System.out.println("请输入日期:");day=scanner.nextInt();//判断是否为闰年//GregorianCalendar:判断某年是否为闰年的方法GregorianCalendargre=newGregorianCalendar();//returntrue:是闰年,false:不是闰年booleanisLeapYear=gre.isLeapYear(year);//二月份的天数intfeb=isLeapYear?29:28;intdayOfYear=0;switch(month){案例1:dayOfYear=day;休息;案例2:dayOfYear=31+day;休息;案例3:dayOfYear=31+feb+day;休息;案例4:dayOfYear=31+feb+31+day;休息;案例5:dayOfYear=31+feb+31+30+day;休息;案例6:dayOfYear=31+feb+31+30+31+day;休息;案例7:dayOfYear=31+feb+31+30+31+30+day;休息;情况8:dayOfYear=31+feb+31+30+31+30+31+day;休息;案例9:dayOfYear=31+feb+31+30+31+30+31+31+day;休息;案例10:dayOfYear=31+feb+31+30+31+30+31+31+30+day;休息;案例11:dayOfYear=31+feb+31+30+31+30+31+31+30+31+天;休息;案例12:dayOfYear=31+feb+31+30+31+30+31+31+30+31+30+day;休息;default:System.out.println("月份输入错误");休息;}System.out.println("这一天是年初一"+dayOfYear+"day!");}}结果Example15Topic输入三个整数num1,num2,num3,请输出这三个数从小到大。分别分析输入三个数,然后两对比较交换,小的在前,大的在后,最后输出三个数从小到大;realizeimportjava.util.Scanner;/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@:HarukaMuramura*@website:https://cunyu1943.github.io*@date:2021/6/310:08*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example15*@description:*/publicclassExample15{publicstaticvoidmain(String[]args){intnum1=0;intnum2=0;intnum3=0;扫描仪扫描仪=新扫描仪(System.in);System.out.println("输入第一个数字");num1=scanner.nextInt();System.out.println("请输入第二个数字");num2=scanner.nextInt();System.out.println("请输入第三个数字");num3=scanner.nextInt();//交换num1,num2if(num1>num2){inttmp=num1;num1=num2;num2=tmp;}//交换num1,num3if(num1>num3){inttmp=num1;num1=num3;num3=tmp;}//交换num2,num3if(num2>num3){inttmp=num2;数字2=数字3;num3=tmp;}System.out.format("三个数从小到大的顺序:%d<%d<%d",num1,num2,num3);}}结果