题目:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输入。
public class lianxi {
public static void main(String[] args) {
int [] a={1,2,3,4};
int count=0;
for(int x=0;x<a.length;x++){
for(int y =0;y<a.length;y++){
for(int z=0;z<a.length;z++){
if(a[x]!=a[y]&&a[x]!=a[z]&&a[y]!=a[z]){
int sum=a[x]*100+a[y]*10+a[z];
count++;
System.out.println(sum);
}
}
}
}
System.out.println("一共有"+count+"三位数");
}
}
需要三位数 那就三个循环 一个个寻找 如果每个数都不相同就输出了它 并且累加1
题目:企业发放的奖金根据利润提成。利润(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%提成,从键盘输入当月利润,求应发放奖金总数?
import java.util.*;
public class lianxi {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
System.out.println("请输入你获得的奖金:(万)");
double lirun =input.nextDouble();
if(lirun<=10)
System.out.println(lirun*0.1+"万");
else if(lirun>10&&lirun<=20)
System.out.println(10*0.1+(lirun-10)*0.075+"万");
else if(lirun>20&&lirun<=40)
System.out.println(10*0.1+10*0.075+(lirun-20)*0.05+"万");
else if(lirun>40&&lirun<=60)
System.out.println(10*0.1+10*0.075+20*0.05+(lirun-40)*0.03+"万");
else if(lirun>60&&lirun<=100)
System.out.println(20*0.175+20*0.05+20*0.03+(lirun-60)*0.001+"万");
else if(lirun>100)
System.out.println(20*0.175+40*0.08+40*0.015+(lirun-100)*0.01+"万");
}
}
别忘记把之前得到的利润加进去
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
public class lianxi {
public static void main(String[] args) {
for(int i=21;;i++){
if(Math.sqrt(i+100)%1==0)
if(Math.sqrt(i+168)%1==0)
System.out.println(i+"加上100后是一个完全平方数,再加上168又是一个完全平方数");
}
}
}
我循环是从21开始的 因为 100是10的平方 因为11的平方等于121 21=121-100 所以最先应该从21开始寻找
先寻找这个数加上100之后开根号是否为整数 如果是整数进行下一个判断 这个数如果加上168之后再开根号还是整数 那么这个数就是答案
题目:输入某年某月某日,判断这一天是这一年的第几天?
import java.util.*;
public class lianxi {
public static void main(String[] args) {
int year, month, day;
int days = 0;
int d = 0;
int e;
Scanner input =new Scanner(System.in);
do {
e = 0;
System.out.print("输入年 月 日:");
year =input.nextInt();
month = input.nextInt();
day = input.nextInt();
if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {
System.out.println("输入错误,请重新输入!");
e=1 ;
}
}while( e==1);
for (int i=1; i <month; i++) {
switch (i) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31; break;
case 4: case 6: case 9: case 11:
days = 30; break;
case 2:
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
days = 29;
} else {
days = 28;
}
break;
}
d += days;
}
System.out.println(year + "-" + month + "-" + day + "是这年的第" + (d+day) + "天。");
}
}
用for循环控制switch 语句 比如找的是4 月 那么需要把4月之前的天份 加 4月日期的天粉 那么就可以得到 答案
记住闰年的 公式
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
题目:输入三个整数x,y,z,请把这三个数由小到大输出
import java.util.*;
public class lianxi {
public static void main(String[] args) {
int[] a=new int[3];
Scanner input =new Scanner(System.in);
System.out.println("请输入3个整数:");
for(int i=0;i<3;i++)
a[i]=input.nextInt();
Arrays.sort(a);
for(int i=0;i<3;i++)
System.out.print(a[i]+" ");
}
}
定义一个长度为3的一维数组 然后使用 JAVA内部函数
Arrays.sort(a); 进行排序即可