Java初学者编程练习

1、生成n个30以内的随机正整数(n输入指定)

生成n个30以内的随机正整数(n输入指定),统计并输出 0~10, 11~20, 21~30,各数段的数的个数,并输出所有数中的最大数和最小数。

import java.util.Random;
import java.util.Scanner;

public class TestC{
	static int maxnum=0;
	static int minnum=0;
	static int sum1 = 0;
	static int sum2 = 0;
	static int sum3 = 0;
	
	public static void main(String[] args) {
		System.out.println("输入n: ");
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		Random random = new Random();
		if(n<=0){
			System.out.println("输入错误");
		}else{
			for(int i=0; i<n; i++){
				//生成一个0~30的随机数
			   int num = random.nextInt(31);
			   
			   //System.out.println("["+num+"]");
			   if(num>=0 && num<=10){
				   sum1++;
			   }else if(num>=11 && num<=20){
				   sum2++;
			   }else{
				   sum3++;
			   }
			   
			   if(i==0) minnum=num;
			   if(num<minnum) minnum = num;
			   if(num>maxnum) maxnum = num;
				   
			}
		}
		System.out.println("0~10: "+sum1);
		System.out.println("11~20: "+sum2);
		System.out.println("21~30: "+sum3);
		System.out.println("-------");
		System.out.println("最小:"+minnum);
		System.out.println("最大:"+maxnum);
	}

}

运行结果:

输入n: 
3
0~10: 1
11~20: 2
21~30: 0
-------
最小:2
最大:18

2、创建一个叫做机动车的类

(1)创建一个叫做机动车的类:
属性:车牌号(String),车速(int),载重量(double)
功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。
编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值;
(2)创建主类:
在主类中创建两个机动车对象。
创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“鄂HA9752”,并让其加速。
创建第二个时调用有参数的构造方法,使其车牌为“鄂H15086”,车速为150,载重为200,并让其减速。
(3)输出两辆车的所有信息

public class TestC{
	public static void main(String[] args) {
		car car1 = new car();
		car1.updateNum("鄂HA9752");
		car1.upSpeed();
		System.out.println(car1);
		
		car car2 = new car("鄂H15086",150,200);
		car2.downSpeed();
		System.out.println(car2);
		
	}
}

class car{
	String num;
	int speed;
	double weight;
	
	public car() {
		this.num = "XX1234";
		this.speed = 100;
		this.weight = 100;
	}
	public car(String num, int speed, double weight) {
		super();
		this.num = num;
		this.speed = speed;
		this.weight = weight;
	}
	//加速
	public void upSpeed(){
		this.speed++;
	}
	//减速
	public void downSpeed(){
		this.speed--;
	}
	//更新车牌
	public void updateNum(String num){
		this.num = num;
	}
	//查询载重
	public double findWeight(){
		return this.weight;
	}
	
	@Override
	public String toString() {
		return "car [num=" + num + ", speed=" + speed + ", weight=" + weight + "]";
	}
	
}

运行结果:

car [num=鄂HA9752, speed=101, weight=100.0]
car [num=鄂H15086, speed=149, weight=200.0]

3、定义一个接口CanFly,描述会飞的方法

(1)定义一个接口CanFly,描述会飞的方法public void fly();
(2)分别定义类飞机和鸟,实现CanFly接口。
(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,让飞机和鸟起飞。

interface CanFly{
	public void fly();
}
class Plane implements CanFly{
	public void fly(){
		System.out.println("飞机会飞");
	}
}
class Bird implements CanFly{
	public void fly(){
		System.out.println("鸟会飞");
	}
}

public class TestC{	
	public static void main(String[] args) {
		Plane plane = new Plane();
		makeFly(plane);
		Bird bird = new Bird();
		makeFly(bird);
	}
	
	//重点
	public static void makeFly(CanFly cf){
		cf.fly();
	}
}

运行结果:

飞机会飞
鸟会飞

思考:java中的接口是不是一个类(CanFly cf)?

接口和类同属于java数据类型的引用数据类型,它们是同等级的,接口并不是类。
类是用class定义,而接口是interface定义。

posted @ 2020-09-07 21:43  yu10001  阅读(353)  评论(0编辑  收藏  举报