Java常见编程习题
- 1.用面向对象思想求矩形面积
- 2.用面向对象思想求两点间的距离
- 3.猜数字
- 4.定义一个交通工具类
有什么错误或者需要改进的地方请各位多多指教,感谢。
1.用面向对象思想求矩形面积
import java.util.Scanner;
public class RecArea {
public static void main(String[] args) {
//用面向对象思想求矩形面积
Rec rec=new Rec();
//创建矩形对象
Scanner sc=new Scanner(System.in);
System.out.println("enter length");
//输入长度
double length=sc.nextDouble();
System.out.println("enter width");
//输入宽度
double width=sc.nextDouble();
//将输入的长宽传给矩形对象
rec.setLength(length);
rec.setWidth(width);
//调用成员方法求面积
double area=rec.area();
//格式输出保留3位小数
System.out.printf("area is %.3f",area);
}
}
class Rec{
private double length;//矩形长度
private double width;//矩形宽度
//定义长宽对应的get,set方法
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
//定义求面积的方法
public double area(){
return this.length*this.width;
}
}
运行结果
enter length
3.4
enter width
5.6
area is 19.040
2.用面向对象思想求两点间的距离
import java.util.Scanner;
public class DistanceDemo {
public static void main(String[] args) {
//用面向对象思想求两点间的距离
Scanner sc=new Scanner(System.in);
System.out.println("enter first x");
//输入第一个点的横坐标
double x1=sc.nextDouble();
System.out.println("enter first y");
//输入第一个点的纵坐标
double y1=sc.nextDouble();
System.out.println("enter second x");
//输入第二个点的横坐标
double x2=sc.nextDouble();
System.out.println("enter second y");
//输入第二个点的纵坐标
double y2=sc.nextDouble();
//创建两个点并把输入的横纵坐标传入
Distance d1=new Distance(x1,y1);
Distance d2=new Distance(x2,y2);
//调用方法求两点的距离
double distanceGap=calculate(d1,d2);
//格式输出保留三位小数
System.out.printf("two distance gap is %.3f",distanceGap);
}
//定义求两点间距离的方法
public static double calculate(Distance dot1,Distance dot2){
double gap1=Math.pow(dot1.getY()-dot2.getY(), 2);
//计算(y2-y1)的平方
double gap2=Math.pow(dot1.getX()-dot2.getX(), 2);
//计算(x2-x1)的平方
return Math.sqrt(gap1+gap2);
//计算根号(gap1+gap2)并返回
}
}
class Distance{
private double x;//点的横坐标
private double y;//点的纵坐标
//无参构造
public Distance(){
}
//带参构造
public Distance(double x,double y){
this.x=x;
this.y=y;
}
//x,y对应的get,set方法
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
运行结果
enter first x
4.3
enter first y
5.7
enter second x
3.8
enter second y
7.6
two distance gap is 1.965
3.猜数字
import java.util.Random;
import java.util.Scanner;
public class GuessNum {
public static void main(String[] args) {
//猜数字
Guess g=new Guess();
//创建猜数字对象
Random r=new Random();
g.setNum(r.nextInt(100)+1);
//给对象成员变量赋一个1到100间的随机整数
guess(g);
//调用方法进行猜测
}
public static void guess(Guess g){
while(true){
Scanner sc=new Scanner(System.in);
System.out.println("enter your guess number(1~100)");
//输入你猜的数字
int num=sc.nextInt();
if(num>g.getNum()){
System.out.println("your number is big");
//你猜的大了
}else if(num<g.getNum()){
System.out.println("your number is small");
//你猜的小了
}else{
System.out.println("your number is right");
//你猜对了,猜对则跳出循环,结束游戏
break;
}
}
}
}
class Guess{
private int num;
//要猜的数
//num的set,get方法
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
运行结果
enter your guess number(1~100)
50
your number is big
enter your guess number(1~100)
25
your number is small
enter your guess number(1~100)
35
your number is small
enter your guess number(1~100)
45
your number is small
enter your guess number(1~100)
47
your number is small
enter your guess number(1~100)
49
your number is big
enter your guess number(1~100)
48
your number is right
4.定义一个交通工具类
import java.util.Scanner;
public class VehicleDemo {
public static void main(String[] args) {
//定义一个交通工具类
Vehicle ve=new Vehicle(30,400);
//创建一个交通工具并初始化
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("1.move start");
//开始移动
System.out.println("2.move end");
//停止移动
System.out.println("3.set speed");
//修改速度
System.out.println("4.set size");
//修改交通工具大小
System.out.println("5.speed up");
//加速
System.out.println("6.speed down");
//减速
System.out.println("7.show vehicle");
//显示交通工具信息
System.out.println("0.exit system");
//退出
int use=sc.nextInt();
//接收用户输入
switch(use){
case 1:
ve.moveStart();
break;
case 2:
ve.moveEnd();
break;
case 3:
System.out.println("enter speed");
double speed=sc.nextDouble();
ve.setSpeed(speed);
break;
case 4:
System.out.println("enter size");
double size=sc.nextDouble();
ve.setSize(size);
break;
case 5:
ve.speedUp();
break;
case 6:
ve.speedDown();
break;
case 7:
ve.show();
break;
case 0:
System.exit(0);
default:
System.out.println("wrong number");
break;
}
}
}
}
class Vehicle{
private double speed;//速度
private double size;//大小
public Vehicle(){
}//无参构造
public Vehicle(double speed,double size){
this.speed=speed;
this.size=size;
}//带参构造
public void moveStart(){
System.out.println("move start……");
}//开始移动
public void moveEnd(){
System.out.println("move end……");
}//结束移动
public void setSpeed(double speed){
this.speed=speed;
System.out.println();
}//修改速度
public void speedUp(){
System.out.println("speed up……");
this.speed++;
}//加速
public void speedDown(){
System.out.println("speed down……");
this.speed--;
}//减速
public void setSize(double size){
this.size=size;
System.out.println();
}//修改大小
public void show(){
System.out.printf("speed is %.2f,size is %.2f\n",this.speed,this.size);
}//显示信息
}
运行结果
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
7
speed is 30.00,size is 400.00
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
1
move start……
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
3
enter speed
60
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
4
enter size
600
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
5
speed up……
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
7
speed is 61.00,size is 600.00
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
6
speed down……
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
7
speed is 60.00,size is 600.00
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
2
move end……
1.move start
2.move end
3.set speed
4.set size
5.speed up
6.speed down
7.show vehicle
0.exit system
0