JAVA 入门测试(一)

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

/*
class Task{
public static void main(String args[]){          //这样写可以减少 时间复杂度;
    int geshu = 0;  // 累加器; 
    for(int i=122;i<433;i++){                  //就是把   四个数,三个,三个的排列 互不相同;
        int a=i%10;
        int b=i%100/10;
        int c = i/100;
        if((a!=b&&a!=c&&b!=c)&&(a>0&a<5)&&(c>0&c<5)&&(b>0&b<5)){
            System.out.print(i+"\t");
            geshu++;
        }
    }
    System.out.println(geshu); 
}
}

*/
/**

class Task 
{
public static void main(String[] args)  //  如果改写成 四位数 就用 四个循环;
{
    int count=0;         //计数器;
    for(int i=1;i<=4;i++){
        for(int j=1;j<=4;j++){
            for(int k=1;k<=4;k++){
                if(i!=j && i!=k && j!=k){
                    System.out.println(">>"+i+j+k); //关键是 把数字当 字符,用连接符 +;
                    count++;
                }
            }
        }
    }
    System.out.println(">>"+count);
}
}

/*
2.题目:企业发放的奖金根据利润提成。
利润(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,
求应发放奖金总数?
<=10 10% 最大:1万
<<2010-10)*7.5% 最大:1+0.75 =1.75
<<401.75+(-20)*5% 最大:1+0.75+1 =2.75
<<602.75(-40)*3% 最大:1+0.75+1+0.6 =3.35
<<1003.35+(-60)*1.5% 最大:1+0.75+1+0.6+0.6=3.95
<3.95+(-100)*1% 高于3.95

输入 利润,求 金额:

import java.util.Scanner;
class Task
{
public static void main(String args[]){
    System.out.println(">>请输入本月利润:");
    Scanner sc=new Scanner(System.in);
    double profit=sc.nextDouble();  
    if(profit<=1){
        System.out.println(">>金额:"+(profit/0.1)+profit+"万");
    }else if(profit<=1.75){
        System.out.println(">>金额:"+((profit-1)/0.075+10)+profit+"万");
    }else if(profit<=2.75)
        System.out.println(">>金额:"+((profit-1.75)/0.05+20)+profit+"万"); 
    else if(profit<=3.35){
        System.out.println(">>金额:"+((profit-2.75)/0.03+40)+profit+"万");
    }else if(profit<3.95){
        System.out.println(">>金额:"+((profit-3.35)/0.015+60)+profit+"万");
    }else{
        System.out.println(">>金额:"+((profit-3.95)/0.01+100)+profit+"万");
    }
}

}

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

/*
class Task
{
public static void main(String args[]){
for(int i=0;i<=100;i++){
if((int)Math.sqrt(i+100)==(Math.sqrt(i+100)) && (int)Math.sqrt(i+268)==(Math.sqrt(i+268))){
System.out.println(“>>”+i);
}
}
}
}
*/

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

//要先判断到此月份是几天,加+天数;  ?????      做完习题后 另算 是周几????

/*
import java.util.Scanner;
class Task
{
public static void main(String args[]){
System.out.println(“>>请输入哪一年:”);
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();

    System.out.println(">>请输几月份:");
    int month=sc.nextInt();

    System.out.println(">>请输入几号:");
    int day=sc.nextInt();
    int sum=0;

    for(int i=1;i<month;i++){
        switch(i){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:           //31天的月份;
            case 10:
            case 12:
                sum+=31;
               break;

            case 4:
            case 6:
            case 9:
            case 11:
                sum+=30;
                break;
            case 2:
                if((year%4==0 && year%100!=0) || (year%400==0)){
                    sum+=29;
             }else{
                    sum+=28;
             }
             break;
             default:
                 System.out.println(">>您输入的月份有误!");
        }
    }
    System.out.println(">>到此月份的天数:"+sum);
    System.out.println(">>一天是这一年的第"+(sum+day)+"天");
}

}
*/

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

/*
import java.util.Scanner;
class Task
{
public static void main(String args[]){
System.out.println(“>>输入三个数:”);
Scanner sc=new Scanner(System.in);
int arr[]=new int[3];
int temp;

    for(int i=0;i<3;i++){
        arr[i]=sc.nextInt();
    }

    for(int i=0;i<arr.length;i++){                  //利用冒泡排序;
        for(int j=0;j<arr.length-(i+1);j++){
            if(arr[j]>arr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }

    for(int i=0;i<3;i++){
        System.out.println(">>"+arr[i]);
    }
}

}
*/
//6. 题目:用*号输出字母c的图案。
/*
class Task
{
public static void main(String args[]){
System.out.println(” *“);
System.out.println(” *”);
System.out.println(“*”);
System.out.println(“*”);
System.out.println(” *”);
System.out.println(” *“);
}
}
*/
//7. 题目:输出9*9口诀。

/*
class Task
{
public static void main(String args[]){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i+”*”+j+”=”+(i*j));
}
System.out.println(” “);
}
}
}
*/

/*
8. 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//还可以用递归

1 2 3 4 5 6 7
1对 1 2 3 5 8 规律是: month_1_+month_2=当前

   class Task
  {
  public static void main(String srgs[]){
            int month_1=1;
            int month_2=1;
            int month;
            System.out.println(">>第一个月 是1对");
            System.out.println(">>第二个月 是1对");
            for(int i=3;i<=12;i++){ //这里做个解释:就是 循环里面要有  替代赋值;
              month=month_1+month_2; //就是第三个月是前两个月的和,然后month_1和month_2逐个前移;
              month_1=month_2;
              month_2=month;
              System.out.println(">>第"+i+"个月兔子的数量:"+month);
            }

  }

}
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值