Java练习题

一、随机生出三个数,输出最大值和最小值

public class problem {
	public static void main(String[] args)
    {   /** 比较大小的方法二
            max=(a>b?a:b)>c?(a>b?a:b):c;
            min=(a<b?a:b)<c?(a<b?a:b):c; */
        int a,b,c,max,min;           
        a=(int)(Math.random()*100);
        b=(int)(Math.random()*100);
        c=(int)(Math.random()*100);
        if(a>b)
        {
            max=a;
            min=b;
        }
        else
        {
            max=b;
            min=a;
        }
        if(max<c)
            max=c;
        else if(min>c)
            min=c;
          
        System.out.println("a="+a+";\nb="+b+";\nc="+c+";\nmax="+max+";\n min="+min+";\n");
    }
}

二、输出九九乘法表

 public class mutil {
     int i,j;
       for(i=1;i<=9;i++) {
       for(j=1;j<=i;j++) {
       System.out.print(i+"*"+j+"="i*j+"\t"); }
       System.out.println(); 
       }
}

三、使用双重循环输出下面图案

public class printstar {
    public static void main(String[] args) {
        
        int rowCount = 5; 
        
           
            for (int i = 1; i <= rowCount; i++) {
                printHalf(i, rowCount);
            }
            for(int i = rowCount - 1; i >= 1; i--) {
                printHalf(i, rowCount);
            }
        }
    
 
  
    private static void printHalf(int i, int rowCount) {
        if (i == 1) {
            for (int x = 1; x <= (rowCount - 2) * 2; x++) System.out.print(" ");
            System.out.println("*");
        } else if(i == 2) {
            for (int x = 1; x <= (rowCount - 3) * 2 + 1; x++) System.out.print(" ");
            System.out.println("* *");
        } else {
            for (int x = 1; x <= (rowCount - i) * 2; x++) System.out.print(" ");
            for (int y = 1; y <= (i * 2) - 3; y++) System.out.print("* ");
            System.out.println();
        }
    }
}

三、输出杨辉三角

// %4d表示在4个空格内输出数字,因为我们知道第10行的最大数字为三位数
public class yanghui {
	
	    
	    public static void main(String[] args) {
	        int rows = 10;

	        for(int i =0;i<rows;i++) {
	            int number = 1;
	            //打印空格字符串
	            System.out.format("%"+(rows-i)*2+"s","");
	            for(int j=0;j<=i;j++) {
	                 System.out.format("%4d",number);
	                 number = number * (i - j) / (j + 1);                
	            }
	            System.out.println();
	        }
	    }
	}

Java技术与应用第二章课后习题
12.

public class Book {
  private String title;
  private String author;
  private int sale;
 
public Book() {}

public Book() {
	this.title = title ;
	this.author = author;
	this.sale = sale;
}

  
public Book(String str1,String str2,int number) {
	title = str1;
	author = str2;
	sale = number;
}

public void printBook() {
  System.out.println("author:" + author + ",title:" +title + ",sale:" + sale);	
}

public void setBook(String str1,String str2,int number ) {
	title = str1;
	author = str2;
	sale = number;

}

}

//测试类
public class TestBook {
  public static void main(String[] args) {
	  Book book1 = new Book();
	  book1.setBook("Java技术与应用","赵锐",888);
	  book1.printBook();
	  Book book2 = new Book();
	  book2.setBook("数据结构", "吴伟民", 666);
	  book2.printBook();
  }
}

13.设计一个名为Rectangle的类。。

public class Rectangle {
     private double width,height;
   
    public Rectangle() {
  	  this.height = 5;
  	  this.width  = 8;
     }
     
   public Rectangle(double w, double h) {
	   this.width = w;
	   this.height = h;
   }
   
   public double getWidth() {    //返回宽度
	   return this.width;
   }
   
   public double getHeight() {    //返回高度
	   return this.height;
   }
   
   public double getArea() {
	   return (height*width);
	   
   }
  
   public double getPerimeter() {
	   return (2*width+2*height);
   }
   
   public void Draw() {
	  for(int i = 1; i<=height;i++) {
		  for(int j = 1; j<= width;j++) {
			  if(i == 1 || i== height)
			   System.out.print(" *");
			  else if( i>1 && i<height && j==1 || i>1 && i<height && j == width)
			  {
				  System.out.print(" *");
			  }	 
			  else System.out.print("  ");
		  }
		  System.out.println();
	  } 
	   
   }
}

//测试类
public class TestRectangle {
   
	public static void main(String[] args) {
		 
		Rectangle rec1 = new Rectangle();
		Rectangle rec2 = new Rectangle(5.0,5.0);
		Rectangle rec3 = new Rectangle(10.0,8.0);
		
		System.out.println("第一个矩形宽度:"+rec1.getWidth());
		System.out.println("第一个矩形长度:"+rec1.getHeight());
		System.out.println("第一个矩形面积:"+rec1.getArea());
		System.out.println("第一个矩形周长:"+rec1.getPerimeter());
        System.out.println("第一个图形演示:");
        rec1.Draw();
        
        System.out.println("第二个矩形宽度:"+rec2.getWidth());
		System.out.println("第二个矩形长度:"+rec2.getHeight());
		System.out.println("第二个矩形面积:"+rec2.getArea());
		System.out.println("第二个矩形周长:"+rec2.getPerimeter());
        System.out.println("第二个图形演示:");
        rec2.Draw();
        
        System.out.println("第三个矩形宽度:"+rec3.getWidth());
		System.out.println("第三个矩形长度:"+rec3.getHeight());
		System.out.println("第三个矩形面积:"+rec3.getArea());
		System.out.println("第三个矩形周长:"+rec3.getPerimeter());
        System.out.println("第三个图形演示:");
        rec3.Draw();
        
	}
}

在这里插入图片描述
14.设计一个包含姓名、年龄、性别、配偶属性的Person类,另有一个marry(Person p)方法来判断两个人是否可以结婚

/** 结婚必须满足的三个条件:
1.必须是异性,同性暂时不允许结婚
2.有配偶者不能结婚,犯重婚罪。
3.要达到年龄方可结婚:男方23岁以上,女性21岁以上。 */
 public class Person {
   public String name;
   public int age;
   public boolean gender; //true:man false:women
   public String partner = "";
   
   public Person() {
	   
   }
   
   public Person(String name,int age,boolean gender, String partner) {
	   this.name = name;
	   this.age =  age;
	   this.gender = gender;
	   this.partner = partner;
   }
   
   public boolean marry(Person p) {
	   if (this.gender != p.gender && "".equals(this.partner)
			   && "".equals(p.partner)) {
			   if ((this.gender && this.age > 23 && p.age > 21)
			   || (!this.gender && this.age > 21 && p.age > 23)) {
			   this.partner = p.name;
			   p.partner = this.name;
			   System.out.println(this.name + " 和 " + p.name
			   + " 够条件可以结婚啦!");
			   return true;
			   } else {
				   System.out.println(this.name + " 和 " + p.name
				   + " ,年龄太小");
				   }
				   } else {
				   System.out.println(this.name + " 和 " + p.name
				   + " 你俩不能这么乱搞...");
				   }
				   return false;
   }
}
//测试类
public class TestPerson {
	public static void main(String[] args) {
		Person p1 = new Person("张三", 25, true, "");
		Person p2 = new Person("赵四", 20, false, "");
		Person p3 = new Person("xsd", 25, true, "mgq");
		Person p4 = new Person("zz", 25, false, "");
		Person p5 = new Person("zz", 26, true, "");
		Person p6 = new Person("zxy", 22, false, "");
		p1.marry(p2);
		System.out.println();
		p3.marry(p4);
		System.out.println();
		p5.marry(p6);
		}
}
public class Employee {
   private String name;
   private String time;
   private double salary;
   private String department;
   
   public Employee(){
	   
   };
   
   public Employee(String name,String time,String department,double salary) {
	this.name = name;
	this.time = time;
	this.department = department;
	this.salary = salary;
   }
   
  public void setName(String name) {
	  this.name = name;
  }
   
  public String getName()   {
	  return this.name;
  }
  
  public void setTime(String time) {
	  this.time = time;
  }
  
  public String getTime() {
	  return this.time;
  }
  
  public void setDepartment(String department) {
	  this.department = department;
  } 
  
  public String getDepartment() {
	  return this.department;
  }
  
  public void setSalary(double salary) {
	  this.salary = salary;
  }
  
  public double getSalary() {
	  return this.salary;
  }
  
}


//测试类
public class TestEmployee {
   public static void main (String[] args) {
	   Employee[] e = new Employee[3];
	   e[0] = new Employee("张三","20180930","秘书部",8888);
	   e[1] = new Employee("赵四","20170630","项目部",6666);
	   e[2] = new Employee("钱五","20160501","保安部",5555);
	   
	   System.out.println(e[0].getName());
       System.out.println(e[1].getSalary());
       System.out.println(e[2].getDepartment());
       System.out.println(e[0].getDepartment());
   }
}
public class Vehicle {
  private String name;
  private double speed;
  private double price;
  
  public Vehicle() {
	  name = "奇瑞QQ";
	  speed = 80.0;
	  price = 80000;
	  
  }
  
  public Vehicle(String name,double speed,double price) {
	  this.name = name;
	  this.speed = speed;
	  this.price = price;
  }
  
  public void setName(String name) {
	  this.name = name;
  }
  
  public String getName() {
	  return this.name;
  }
  
  public void speed(double speed) {
	  this.speed = speed;
  }
  
  public double getspeed() {
	  return this.speed;
  }
  
  public void price(double price) {
	  this.price = price;
  }
  
  public double getprice() {
	  return this.price;
  }
  
  public void raise() {
	  price = price + 100;
	System.out.println("涨价后:"+price); 
  } 
  
  public void decrease() {
	 price = price - 100; 
		System.out.println("降价后:"+price);  
	  }
}

//测试类
public class TestVechicle {
   public static void main(String[] args) {
	   Vehicle v = new Vehicle();
	   System.out.println("名称:"+v.getName()+",速度:"+v.getspeed()+"价格:"+v.getprice());
	   v.raise();
	   v.decrease();
	  
   }
}

18.构造一个具有重载构造方法的类,并在构造方法内打印一条消息,针对不同的构造方法为这个类创建对象。

public class Print {
  public Print(){
	System.out.println("Hello World!");
  }
  
  public Print(String s) {
	System.out.println(s);
  }
}
//测试类
public class TestPrint {
	public static void main(String[] args) {
		
		Print p1 = new Print();
		Print p2 = new Print("Hello!!!");
		
	}
}

19.构建一个具有4种访问权限的成员变量和成员方法的类Test,并定义一个该类的子类。在子类中、同一个包中以及不同包中创建类Test的实例对象

//  pack1
package pack1;

public class Test {
   public int o1=1;
   protected int o2=2;
   private int o3=3;
           int o4=4;
           
   public Test()  {
	   
   }   
   
   public Test(int o1,int o2,int o3,int o4) {
	   this.o1 = o1;
	   this.o2 = o2;
	   this.o3 = o3;
	   this.o4 = o4;
   }
   
  
}
package pack1;
// 子类情况下 能访问public和protected的成员变量
public class TestSon {

	public static void main(String[] args) {
		public static void main(String[] args) {
			Test t = new Test();
		    System.out.println(t.o1);
		    System.out.println(t.o2);
		    System.out.println(t.o3);
		    System.out.println(t.o4);

	}
}
package pack1;
// 同包情况下不能访问private权限的成员变量
public class Demo1 { 
	public static void main(String[] args) {
		Test t = new Test();
	    System.out.println(t.o1);
	    System.out.println(t.o2);
	    System.out.println(t.o3);
	    System.out.println(t.o4);

	}
}

//pack2
package pack2;
// 不同包情况下 除了public权限的成员变量 其他权限都不能访问
import pack1.Test;

public class Demo2 {

	public static void main(String[] args) {
		Test t = new Test();
	    System.out.println(t.o1);
	    System.out.println(t.o2);
	    System.out.println(t.o3);
	    System.out.println(t.o4);

	}

}
package pack1;

public abstract class Student {
   public double NO;
   public String name;
   public double garde;
   
   abstract void scholarship();
   
}

package pack1;

public class Undergraduate extends Student {
    public Undergraduate (double NO, String name,double grade) {
	this.NO = NO;
    this.name = name;
    this.garde = grade;
    
    }
	void scholarship() {
	  if(garde >=90 )  System.out.println("恭喜你获得一等奖学金!");
	  if(garde >=80 && garde < 90)  System.out.println("恭喜你获得二等奖学金!");
	  if(garde >=70 && garde <80)  System.out.println("恭喜你获得三等奖学金!");
	  if(garde <70 )  System.out.println("很遗憾没有获得奖学金,继续努力!");
	}
	

}

package pack1;

public class Postgraduate extends Student{
    public Postgraduate(double NO, String name, double grade) {
    	this.NO = NO;
    	this.name = name;
    	this.garde = grade;
    }
	
	@Override
	void scholarship() {
		if(garde >=95 )  System.out.println("恭喜你获得一等奖学金!");
		  if(garde >=90 && garde < 95)  System.out.println("恭喜你获得二等奖学金!");
		  if(garde >=80 && garde <90)  System.out.println("恭喜你获得三等奖学金!");
		  if(garde <80 )  System.out.println("很遗憾没有获得奖学金,继续努力!");
		
	}

}

package pack1;

public class TestStudent {
    public static void main(String[] args) {
    	Undergraduate ungra1 = new Undergraduate(4686, "lzp", 60);
    	Undergraduate ungra2 = new Undergraduate(4685, "ljj", 70);
    	Undergraduate ungra3 = new Undergraduate(4684, "ljs", 80);
    	Undergraduate ungra4 = new Undergraduate(4683, "psf", 90);
      ungra1.scholarship();
      ungra2.scholarship();
      ungra3.scholarship();
      ungra4.scholarship();
      System.out.println();
       Postgraduate pogra1 = new Postgraduate(5050,"zz", 95);
       Postgraduate pogra2 = new Postgraduate(5051,"sd",80 );
       Postgraduate pogra3 = new Postgraduate(5052,"lzp", 90);
       Postgraduate pogra4 = new Postgraduate(5053,"xsd", 70);
       pogra1.scholarship();
       pogra2.scholarship();
       pogra3.scholarship();
       pogra4.scholarship();
     
    }
}
public class Graphical {
   public double width;
   public  double length;
   public double area;
   public double Perimeter;
   
   public Graphical() {

   }
   
   public Graphical(double w,double l,double a,double P) {
	   width = w;
	  length = l;
	    area = a;
   Perimeter = P;
   }
   
   public double areaGraphical() {
	   return area;
	   }
   
   public double PerimeterGraphical() {
	   return Perimeter;

	   }
	   
public class Rectangle extends Graphical {
	public double areaGraphical() {
		   area = width*length;
		   return area;
		   }
	
	public double PerimeterGraphical() {
		   Perimeter = 2*(length+width);
		   return Perimeter;
	}
	
	
}

public class Triangle extends Graphical {
	public double high;  
	public double bottom;  
	public double side; 


	public double areaGraphical() {
	area = (bottom*high) / 2;
	return area;
	}


	public double PerimeterGraphical() {
	Perimeter = high + bottom + side;
	return Perimeter;


	}
	
}

public class Test {
   public static void main(String[] args) {
	   Rectangle rec = new Rectangle();
	   rec.length = 5;
	   rec.width  = 8;
	   rec.areaGraphical();
	   rec.PerimeterGraphical();
	   System.out.println("矩形面积"+rec.areaGraphical()+",矩形周长"+rec.PerimeterGraphical());
       Triangle tri = new Triangle();
       tri.high = 3;
       tri.bottom = 4;
       tri.side = 5;
       System.out.println("三角形面积"+tri.areaGraphical()+",三角形周长"+tri.PerimeterGraphical());
   }
}
package pack1;

public interface Exchange {
    public void hello() ;
    public void goodbye() ;
    
}

package pack1;

public interface Job {
    public void sing() ;
    public void basketball() ;
}
package pack1;

public interface Man extends Exchange,Job {
   public void eat();
}

package pack1;

public class CXK {
  CXK() {
	  System.out.println("我是练习时长两年半的个人练习生蔡徐坤");
  };
}

package pack1;

public class Test extends CXK implements Man  {

	@Override
	public void hello() {
		// TODO 自动生成的方法存根
		System.out.println("Hello World!!");
	}

	@Override
	public void goodbye() {
		// TODO 自动生成的方法存根
		System.out.println("Good Bye!!");
	}

	@Override
	public void sing() {
		// TODO 自动生成的方法存根
		System.out.println("鸡你太美!!");	
	}

	@Override
	public void basketball() {
		// TODO 自动生成的方法存根
		System.out.println("Play Basketball!!");
	}

	@Override
	public void eat() {
		// TODO 自动生成的方法存根
		System.out.println("Eat something!!");
	}
     
}

package pack1;

public class Demo1 {
	public static void main(String[] args) {
        // TODO Auto-generated method stub
        Test t=new Test();
        t.hello();
        t.goodbye();
        t.sing();
        t.basketball();
        t.eat();
}
}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值