java基础练习题

1.使用Scanner从控制台获取两个数字,然后计算这两个数字的和

java基础练习题_第1张图片

public class Main {
    public static void main(String[] args) {
        Scanner s= new Scanner(System.in);//接受数字
        int a =s.nextInt();
        int b=s.nextInt();
        System.out.println(a+b);

    }
}

2.int i = 1;int j = ++i  + i++;,问 j的结果是多少?
j为2;

3.使用Scanner收集你的身高体重,并计算出你的BMI值是多少,BMI的计算公式是 体重(kg) / (身高*身高),比如邱阳波的体重是72kg, 身高是1.69,那么这位同学的BMI就是,72 / (1.69*1.69) = ?

public class Main {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int a=s.nextInt();
        double b=s.nextDouble();
        double c=a/(b*b);
        System.out.println(c);

    }
}

4.判断某一年是否为闰年,通过Scanner 输入一个年份,然后判断该年是否是闰年,闰年判断标准(满足任何一个)1. 如果能够被4整除,但是不能被100整除2. 能够被400整除

public class Main {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int a=s.nextInt();
        if((a%4==0&&a%100!=0)||(a%400==0))
        {
            System.out.println(a+"是闰年");
        }
        else{
            System.out.println(a+"不是闰年");
        }

    }
}

5.首先创建一个长度是5的数组,然后给数组的每一位赋予随机整数,通过for循环,遍历数组,找出最小的一个值出来,0-100的 随机整数的获取办法有多种,下面是参考办法之一:

public class Main {
    public static void main(String[] args) {
        int[] a =new int[5];//长度为5的数组
        int b= 0;
        a[0] = (int) (Math.random() * 100);
        a[1] = (int) (Math.random() * 100);
        a[2] = (int) (Math.random() * 100);
        a[3] = (int) (Math.random() * 100);
        a[4] = (int) (Math.random() * 100);
        b=a[0];
        for(int i=0;i=a[i])
            {
                b=a[i];
            }
        }
        System.out.println(b);

    }
}

6.,如代码,问题:,h4所指向的对象和h2所指向的对象,是否是同一个对象?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

package charactor;

  

public class Hero {

    public String name;

    protected float hp;

  

    public static void main(String[] args) {

           Hero h1 =  new Hero();

           Hero h2 =  new Hero();

           Hero h3;

           Hero h4;

           h3 = h1;

           h4 = h3;

    }

}

7. 设计一个治疗者接口:Healer,该接口声明有方法: heal(),设计一个Support类,代表辅助英雄,继承Hero类,同时实现了Healer这个接口

interface Healer{
    void heal();//接口
}
class adhero extends Hero implements Healer{
    public adhero(String id,float economy,int kill)
    {
        super(id, economy, kill);
    }//继承
    @Override
    public void heal() {
        System.out.println("进行治疗");
    }
}

class Hero{
    String id;
    float economy;
    int kill;
    public Hero(String id,float economy,int kill)
    {
        this.id=id;
        this.economy=economy;
        this.kill=kill;
    }
}
public class Main {
    public static void main(String[] args) {
        adhero support = new adhero("support1", 100.0f, 0);//存放数据 继承
        support.heal();//接口
    }
}

8.创建一个线程,从a~z每秒钟输出一个英文字母。通过继承Thread类实现创建线程

public class AlphabetThread extends Thread {
    @Override
    public void run() {
        for (char c = 'a'; c <= 'z'; c++) {
            System.out.println(c);
            try {
                Thread.sleep(1000); // 暂停1秒钟
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        AlphabetThread thread = new AlphabetThread();
        thread.start();
    }
}

9.使用多线程,就可以做到盖伦在攻击提莫的同时,赏金猎人也在攻击盲僧,设计一个类KillThread 继承Thread,并且重写run方法,启动线程办法: 实例化一个KillThread对象,并且调用其start方法,就可以观察到 赏金猎人攻击盲僧的同时,盖伦也在攻击提莫。

class KillThread extends Thread {
    private String attacker;
    private String target;

    public KillThread(String attacker, String target) {
        this.attacker = attacker;
        this.target = target;
    }

    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println(attacker + "正在攻击" + target);
            try {
                Thread.sleep(1000); // 暂停1秒钟
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        KillThread garenThread = new KillThread("盖伦", "提莫");
        KillThread bountyHunterThread = new KillThread("赏金猎人", "盲僧");

        garenThread.start();
        bountyHunterThread.start();
    }
}

10.创建一个线程,从a~z每秒钟输出一个英文字母。通过使用Runnable实现创建线程

public class AlphabetThread implements Runnable {
    @Override
    public void run() {
        for (char c = 'a'; c <= 'z'; c++) {
            System.out.println(c);
            try {
                Thread.sleep(1000); // 暂停1秒钟
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        AlphabetThread thread = new AlphabetThread();
        Thread a=new Thread(thread);
        a.start();
    }
}

你可能感兴趣的:(java练习题,java)