本资料由 后端码匠
1.成绩分布
import java.util.Random;
public class Grand {
public static void main(String[] args) {
// TODO Auto-generated method stub
float score;
Random r=new Random();
score=r.nextFloat()*100;
System.out.printf("%2.1f\n",score);
if(score>=90){
System.out.println("A等");
}
else if(score>=60&&score<90){
System.out.println("B等");
}
else if(score<60){
System.out.println("C等");
}
}
}
2.性别问题
import java.util.Scanner;
public class Sex {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("您的性别是:\n1.男\n2.女\n请根据具体情况选择编号:");
Scanner in=new Scanner(System.in);
int a;
a=in.nextInt();
in.close();
switch(a){
case 1:
System.out.println("您选择的性别是男人");break;
case 2:
System.out.println("您选择的性别是女人");break;
default:
System.out.println("数据非法!");break;
}
}
}
3.年龄段查询
import java.util.Scanner;
public class Age {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("您想要查询的年龄段:\n1.幼年\t2.童年\t3.少年\n4.壮年\t5.中年\t6.老年\n请根据具体情况选择编号:");
Scanner in=new Scanner(System.in);
int num;
num=in.nextInt();
in.close();
switch(num){
case 1:
System.out.println("幼年的年龄范围是从出生到七岁.");break;
case 2:
System.out.println("童年的年龄范围是从七岁到十六岁...");break;
case 3:
System.out.println("少年的年龄范围是从十六岁到二十五岁..");break;
case 4:
System.out.println("壮年的年龄范围是从二十五岁到四十岁...");break;
case 5:
System.out.println("中年的年龄范围是从四十岁到六十五岁...");break;
case 6:
System.out.println("老年的年龄范围是大于六十五岁..");break;
default:
System.out.println("输入编号非法!");break;
}
}
}
4.1到100求和
public class Sum {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;
int i=0;
while(i<100) {
i++;
sum+=i;
}
System.out.println("sum="+sum);
}
}
5.自由落体
public class Height {
public static void main(String[] args) {
// TODO Auto-generated method stub
int height=10000;
for(int i=1;i<=10;i++) {
height=height>>1;
System.out.println("第"+i+"次反弹,高度是:"+height);
}
}
}
6. 水仙花数
public class Flour {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=100;i<1000;i++) {
if(i==(i%10)*(i%10)*(i%10)+(i/100)*(i/100)*(i/100)+(i/10%10)*(i/10%10)*(i/10%10)) {
System.out.println("水仙花数:"+i);
}
}
}
}
7. 数的排列
import java.util.Scanner;
public class Rannge {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int num1=in.nextInt();
int num2=in.nextInt();
in.close();
if(num1 >= num2) {
System.out.println("num1="+num1);
System.out.println("num2="+num2);
}
else {
System.out.println("num2="+num2);
System.out.println("num1="+num1);
}
}
}
8.计算中断
public class Break {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
for(int i=0;i<=100;i++) {
if(i%10==3) {
break;
}
sum+=i;
}
System.out.println("加和1~100,直到遇到个位数字是3的数字就中断加和操作:sum="+sum);
}
}
9. 跳数计算
public class CLSS_ch2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;
int i=1;
while(i<=100) {
if(i%10==3) {
continue;
}
sum+=i;
i++;
}
System.out.println("sum="+sum);
}
}
10. 打印10*10表格
public class PrintTable {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=0;i<10;i++) {
for(int j=0;j<10;j++){
System.out.printf("("+i+","+j+")");
}
System.out.println("");
}
}
}
11.数组的综合应用2
public class TestFind {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array= {12, 34, 1, 4, 7, 90, 40, 100, 56, 79};
int max=array[0];
int min=array[0];
for(int i=0;i<array.length;i++) {
if(max<array[i]) {
max=array[i];
}
if(min>array[i]) {
min=array[i];
}
}
System.out.println("数组中最大值max="+max);
System.out.println("数组中最小值min="+min);
}
}
12. 接口实现
public class AppearTime {
interface Iclear{
public abstract void clear() ;
}
class Myclear implements Iclear{
@Override
public void clear() {
// TODO Auto-generated method stub
{
System.out.println("do clear");
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
AppearTime.Myclear am = new AppearTime().new Myclear();
am.clear();
}
}
13. 数值排序
import java.util.Random;
public class ListNum {
public static void main(String[] args) {
Random r = new Random();
int arr[] = new int [10];
for(int i=0 ; i<10;i++)
arr[i]=r.nextInt(100);
buble(arr);
for(int i=0 ; i<10;i++)
System.out.print(arr[i]+" ");
}
public static void buble(int arr[]) {
// TODO Auto-generated method stub
for(int i=0;i<arr.length;i++) {
for(int j =0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
14. 引用学生对象
public class Student {
private String name;
private int age;
private boolean sex;
private int score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isSex() {
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Student(String name, int age, boolean sex, int score) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.score = score;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
Student stu01 = new Student("诸葛亮",42,true,120);
Student stu02 = stu01 ;
Student stu03 = new Student("诸葛亮",42,true,120);
System.out.println("通过对象赋值与原变量是否相等"+stu01.equals(stu02));
System.out.println("属性完全相等,但分别实例化两个"+stu01.equals(stu03));
}
}
15. 捕捉数值转型异常
import java.util.Scanner;
public class FormatExceptionDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
String sb = sc.nextLine();
int num = -1;
try {
num = Integer.parseInt(sb);
sc.close();}
catch (Exception e) {
// TODO: handle exception
System.out.println("输入内容不是整数!");
System.exit(0);
}
System.out.println(num);
}
}
16. 情人节献花
import java.util.Scanner;
public class TestRose {
public static void main(String[] args) {
// TODO Auto-generated method stub
Rose r = new Rose(1000);
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("你要送给女朋友多少朵玫瑰花:");
try {
r.giveRose(sc.nextInt());
} catch (RoseException e) {
sc.close();
System.exit(0);
}finally {
System.out.println("我爱你!");
}
}
}
}
class Rose{
private int RoseNumber;
public int getRoseNumber() {
return RoseNumber;
}
public void setRoseNumber(int roseNumber) {
RoseNumber = roseNumber;
}
public Rose(int RoseNumber) {
this.RoseNumber = RoseNumber;
}
public void giveRose(int rose) throws RoseException{
if(rose>RoseNumber) {
throw new RoseException();
}else if(rose<=0){
System.out.println("方法接受到非法参数,请给出正数形式的玫瑰花数");
}else {
RoseNumber -= rose;
System.out.println("亲爱的,送你"+rose+"朵玫瑰花!");
}
}
}
class RoseException extends Exception{
private static final long serialVersionUID = 5965711409217611710L;
public RoseException() {
System.out.println("我没有钱买花送给你,对不起!");
}
}
17. 加减乘除功能函数
public class Utils {
public static int add(int num1 ,int num2) {
return num1+num2;
}
public static int substract(int num1 ,int num2) {
return num1-num2;
}
public static int multiplyt(int num1 ,int num2) {
return num1*num2;
}
public static double division(double num1 ,double num2) {
if(num2 == 0)System.out.println("除数不能为零");
return num1/num2;
}
public static void main(String[] args) {
int num1= 4;
int num2= 3;
int addtion=add(4,3);
int sub = substract(4,3);
int mul = multiplyt(4, 3);
double div = division(4, 3);
System.out.println("a的值是3,b的值是4");
System.out.println("a+b="+addtion);
System.out.println("a-b="+sub);
System.out.println("a*b="+mul);
System.out.println("a/b="+div);
}
}
18. 我是歌手
package cn.campsg.java.experiment;
import cn.campsg.java.experiment.entity.*;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
AbstractSinger s = new PopSinger();
s.introduce();
s.sing();
}
}
package cn.campsg.java.experiment.entity;
public abstract class AbstractSinger {
public void introduce() {
System.out.println("Hello,我是歌手");
} ;
public abstract void sing();
}
package cn.campsg.java.experiment.entity;
public class PopSinger extends AbstractSinger {
public void sing() {
// TODO Auto-generated method stub
System.out.println("我是唱流行乐的");
}
}
19.16版最大值最小值
package cn.campsg.java.experiment;
import java.util.Scanner;
public class Compare {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int[] array=new int[10];
System.out.println("请连续输入10个数值,数值间用空格间隔:");
for(int i=0;i<array.length;i++){
array[i]=in.nextInt();
}
in.close();
int max = array[0];
int min = array[0];
for(int i= 0 ;i<10;i++)
{
if(max<array[i]) max = array[i];
}
for(int j = 0;j<10;j++) {
if(min>array[j]) min = array[j];
}
System.out.println(" 数组中的最大值为"+max);
System.out.println(" 数组中的最小值为"+min);
}
}
19. 16版邮局派发信件
package cn.campsg.java.experiment;
import cn.campsg.java.experiment.entity.Postman;
import cn.campsg.java.experiment.entity.SendMails;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("邮递员接收派发任务后开始送信:");
for(int i=0;i<5;i++){
int mCount = (int)(1+Math.random()*10);
Postman postman = new Postman("邮递员"+i,mCount/2);
SendMails sendMails = new SendMails();
sendMails.setPost(postman);
new Thread(sendMails).start();
}
}
}
package cn.campsg.java.experiment.entity;
public class SendMails extends Thread {
private Postman post;
public Postman getPost() {
return post;
}
public void setPost(Postman post) {
this.post = post;
}
public void run() {
int count = 0;
while(post.getMailCount() >0) {
System.out.println( post.getPostName() +" 还有"+post.getMailCount()+ "封信。开始送第 " + (++count) + "封信!");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
post.setMailCount(post.getMailCount()-1);
if(post.getMailCount()<=0)System.out.println( "已完成所有邮件派送!"+post.getPostName());
}
}
}
package cn.campsg.java.experiment.entity;
public class SendMails extends Thread {
private Postman post;
public Postman getPost() {
return post;
}
public void setPost(Postman post) {
this.post = post;
}
public void run() {
int count = 0;
while(post.getMailCount() >0) {
System.out.println( post.getPostName() +" 还有"+post.getMailCount()+ "封信。开始送第 " + (++count) + "封信!");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
post.setMailCount(post.getMailCount()-1);
if(post.getMailCount()<=0)System.out.println( "已完成所有邮件派送!"+post.getPostName());
}
}
}
20. 简易体脂称
package cn.campsg.java.experiment;
import java.util.Scanner;
public class BodyFat {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的身高(单位:米):");
float height = scanner.nextFloat();
System.out.println("请输入您的体重(单位:千克):");
float weight = scanner.nextFloat();
System.out.println("请输入您的年龄:");
int age = scanner.nextInt();
float BMI = weight/(height*height);
float bodyFat = (float) (1.2*BMI+ 0.23*age-5.4);
System.out.println("您的体脂率为:"+ bodyFat+"%");
}
}
21. 16版图形计算
package cn.campsg.java.experiment;
import cn.campsg.java.experiment.impl.SquareCalImpl;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化正方形的接口对象
SquareCalImpl sc = new SquareCalImpl();
//设置正方形的边长
sc.setLength(5.0f);
//计算正方形的周长
System.out.println("正方形的周长为:"+sc.calcPerim());
//计算正方形的面积
System.out.println("正方形的面积为:"+sc.calcArea());
}
}
package cn.campsg.java.experiment;
public interface ShapeCalc {
public float calcPerim();
public float calcArea();
}
package cn.campsg.java.experiment.impl;
import cn.campsg.java.experiment.ShapeCalc;
public class SquareCalImpl implements ShapeCalc{
private float length;
public float getLength() {
return length;
}
public void setLength(float length) {
this.length = length;
}
public float calcPerim() {
float peri = length * 4 ;
return peri;
}
public float calcArea() {
float area= length * length ;
return area;
}
}
22. 16版邮寄包裹
package cn.campsg.java.experiment;
import java.util.Scanner;
public class TestPost {
public static boolean checkPost(float weight, float leng,float width,float height) {
boolean flag = false;
if(weight>=200||leng>200||width>200||height>200) {
flag =true;
}
return flag; }
public static double getMoney(double weight) {
double money;
money= weight>=200?(2+(weight-1)*0.7):(weight>=150?(2+(weight-1)*0.75):2+(weight-1)*0.8);
return money;
}
public static void main(String[] args) {
System.out.println("输入包裹的重量(kg)");
Scanner sc = new Scanner(System.in);
int weight = sc.nextInt();
System.out.println("输入包裹长度(cm)");
Scanner sc1 = new Scanner(System.in);
int chang = sc1.nextInt();
System.out.println("输入包裹宽度(cm)");
Scanner sc2 = new Scanner(System.in);
int kuan = sc2.nextInt();
System.out.println("输入包裹高度(cm)");
Scanner sc3 = new Scanner(System.in);
int gao = sc3.nextInt();
if( checkPost(weight,chang,kuan,gao)) {
System.out.println("该包裹不符邮寄规定!");
}else {
double money= getMoney(weight);
System.out.println("邮寄费用"+money+"元");
}
System.out.println("邮寄重量是"+weight+"(kg)");
}
}
23. 16版 1000内的完数
package cn.campsg.java.experiment;
public class PerfectNum {
public static void main(String[] args) {
for (int i = 1; i <= 1000; ++i) {
int sum = 0;
for(int j = 1; j < i; ++j){
if(i % j == 0)
sum += j;
}
if(i == sum){
System.out.println(i);
}
}
}
}
24. 16版 统计年龄
package cn.campsg.java.experiment;
public class MainClass {
public static int[] getAges(int ages[]) {
for(int i =0;i<200;i++) {
int age = (int) (Math.random() * 61);
ages[i] = age;
}
return ages;
}
public static int getAdultCount(int[] ages) {
int j =0;
for(int i =0;i<200;i++) {
if(ages[i]>=18) {
j++;
}
}
return j;
}
public static void main(String[] args) {
int ages[] = new int[200] ;
getAges(ages);
int num = getAdultCount(ages);
System.out.println(num);
}
}
25. 16版真实员工数统计
package cn.campsg.java.experiment;
public class Employee {
String no;
String name;
float salary;
String department;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public Employee(String no2, String name2, String string, float f) {
// TODO Auto-generated constructor stub
this.no = no2;
this.name = name2;
this.salary = f;
this.department = string;
}
public boolean equals(Object o) {
boolean flag = true;
if(!(o instanceof Employee))
flag=false;
Employee emp = (Employee)o;
//员工的工号不一致,则认定两个员工的业务数据不一致
if(!emp.getNo().equals(this.getNo()))
flag= false;
return flag;
}
@Override
public String toString() {
StringBuffer str = new StringBuffer();
//String b = "Employee [no=" + no + ", name=" + name + ", salary=" + salary + ", department=" + department + "]";
str.append(no).append(name).append(salary).append(department);
return str.toString();
}
}
package cn.campsg.java.experiment;
import cn.campsg.java.experiment.Employee;
public class MainClass {
public static boolean isRepeat(int index,Employee[] employees) {
Employee emp = employees[index];
for(int i = 0;i < employees.length; ++i) {
if(emp == employees[i]) {
continue;
}
if(emp.equals(employees[i]) == true) {
return true;
}
}
return false;
}
public static void main(String argv[]) {
Employee[] employees = new Employee[3];
employees[0] = new Employee("1001","张一","销售部",5000.0f);
employees[1] = new Employee("1002","王二","销售部",6500.0f);
employees[2] = new Employee("1001","Alan","研发部",15000.0f);
int count = 0;
for(int i=0;i<employees.length;++i){
if(isRepeat(i,employees)==false)
{
count++;
System.out.println(employees[i].toString());
}
}
System.out.println("本公司有效员工数: " + count);
}
}
26. 交换位置
package diyiti;
public class nizhi {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*定义一个类,类中定义两个静态方法和main方法。
其中一个静态方法用于对一维数组中的数据进行逆序交换
(即:数组中的第一个数与最后一个数交换位置,第二个数与倒数第二个数交换位置,以此类推),
方法的参数为一维数组,返回类型为void;另一个静态方法用于输出数组元素
。在main方法中对定义的两个静态方法进行测试,
测试使用的数组的元素为:{34,28,75,9,28,56,80,17,8 }。*/
int[]arr= {34,28,75,9,28,56,80,17,8 };
System.out.println("数组原始数据为:");
for( int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
System.out.println();
array(arr);
abc(arr);
}
public static void array(int []arr) {
int n;
for(int i=0;i<(arr.length-1)/2;i++) {
n=arr[i];arr[i]=arr[arr.length-1-i]; arr[arr.length-1-i]=n;
}
}
static void abc(int []arr) {
System.out.println("逆序运算后数组数据为:");
for( int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
}
}
27. 九九乘法
package diyiti;
public class 九九 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=0;i<10;i++) {
for(int j=0;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
if(i==j)System.out.println("");
}
}
}
}
/*请按以下要求设计一个日期类MyDate,并进行测试。
(1)MyDate类中包含三个属性,分别表示日期的年、月、日,访问权限为私有的;
(2)为每个属性定义相应的get和set方法,要求月份范围为1~12;
(3)为MyDate类定义默认构造方法和带参数构造方法,要求月份范围为1~12;
(4)定义一个方法判断当前日期的年份是否闰年,是闰年返回true,否则返回false。
方法参考格式为:public boolean isLeapYear()。
若年份能被400整除或能被100整除但不能被4整除,则年份为闰年;
(5)定义一个方法输出MyDate对象的信息;
(6)定义一个测试类,在测试类中创建两个MyDate对象,一个使用默认构造方法,
然后调用相应的方法给对象属性赋值,另一个使用带参数构造方法,
在构造方法中对属性赋值。分别输出两个对象的信息,并判断对象是否为闰年*/
public class MyDate {
private int year,month,day;
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
if (month>=1&&month<=12) {
return month;
}else {
return 0;
}
}
public void setMonth(int month) {
this.month = month;
}
28. 随机生成转换
mport java.util.Random;
public class JavaAPI {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*编写一个Java application,完成如下任务:
(1)利用Java API类Random的nextFloat()方法随机生成一个成绩(成绩的值在0~100之间);
(2)输出此成绩,要求保留小数点后两位;
(3)利用switch语句将此成绩转换为等级。转换规则如下
成绩>=90 优
90>成绩>=80 良
80>成绩>=70 中
70>成绩>=60 及格
成绩<60 不及格
(4)程序运行效果如下图所示*/
float score=0;
Random in=new Random(100);
//float score=in.nextFloat();
System.out.println(String.format("%.2f",in.nextFloat()*100));
int num=(int)score;
switch(num/10) {
case 9:
System.out.println("成绩为优");
break;
case 8:
System.out.println("成绩为良");
case 7:
System.out.println("成绩为中");
case 6:
System.out.println("成绩为合格");
default:
System.out.println("成绩为不合格");
}
}
}
29. 圆的面积
/*请按以下要求设计一个圆类Circle,并进行测试。
(1)Circle类中包含三个属性,分别表示圆心坐标和半径,访问权限为私有的;
(2)为每个属性定义相应的get和set方法;
(3)为Circle定义默认构造方法和带参数构造方法;
(4)定义一个方法输出Circle对象的信息;
(5)定义一个方法求圆的面积;
(6)定义一个测试类,在测试类中创建两个Circle对象,一个使用默认构造方法,
然后调用相应的方法给对象属性赋值,另一个使用带参数构造方法,
在构造方法中对属性赋值。分别输出两个对象的信息及其面积。*/
public class Circle {
private double x,y,r;
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;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public Circle() {
}
public Circle(double x,double y ,double r) {
this.x=x;
this.y=y;
this.r=r;
}
public void jisuan() {
double area=0;
area=r*r*3.14;
System.out.println("面积为:"+area);
}
public static void main(String[] args) {
Circle ab=new Circle(2,4,5);
Circle abc=new Circle();
System.out.println(ab.getX()+" "+ab.getY()+" "+ab.getR());
ab.jisuan();
}
30.类的继承
设计一个学生类Student和它的一个子类UnderGraduate。 在主函数中,通过带参构造方法创建一个新的Student类的对象stu(张三,20)和UnderGraduate对象ugrd(李四,21,计算机),并分别调用这两个对象的show方法。
public class Student {
String name;
int age;
public Student()
{
}
public Student(String name,int age)
{
this.name=name;
this.age=age;
}
public void show()
{
System.out.println("姓名:"+this.name+" 年龄:"+this.age);
}
}
public class UnderGraduate extends Student{
String major;
public UnderGraduate()
{
}
public UnderGraduate(String name,int age,String major)
{
super(name, age);
this.major = major;
}
public void show()
{
System.out.println("姓名:"+this.name+" 年龄:"+this.age+" 专业:"+this.major);
}
}
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student("张三",20);
UnderGraduate ugrd=new UnderGraduate("李四",21,"计算机");
stu.show();
ugrd.show();
}
}
30. 类和接口编程
推荐步骤:
1.新建工程。
2.在工程中创建一个Person接口,该接口具有void setData(String n, String name, String sex)方法和String introduce()方法。
3.创建类Student实现Person接口,Student类中应当有String n, String name, String sex三个属性。
4.在Student类中实现setData方法,通过该方法将参数值赋给类相应的成员属性。
5.在Student类中实现introduce方法,该方法的返回值为将上述三个成员属性的字符串相连接。
6.创建主类MainClass,创建主函数main。
7.在主函数中,创建Student类的对象,并依次调用setData方法和introduce方法,将introduce方法的返回值输出至控制台。
public interface Person {
void setData(String n, String name, String sex);
String introduce();
}
public class Student implements Person{
String n;
String name;
String sex;
public void steData(String n,String name,String sex)
{
this.n=n;
this.name=name;
this.sex=sex;
}
public String introduce()
{
return "学号:"+this.n+"\n姓名:"+this.name+"\n性别:"+this.sex;
}
public void setData(String n, String name, String sex)
{
}
}
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student student =new Student();
student.steData("01","孙阳","男");
System.out.println(student.introduce());
}
}
70. 利用接口实现多态
推荐步骤:
1.新建工程,名称为COMPUTATION。
2.在工程中创建一个接口,名称为Shape,内有一个名为perimeter的方法,该方法的返回值类型为float。
3.创建类,名称为Square,实现Shape接口,并有一个float型的成员变量,名称为a,定义Square类有一个参数的构造方法,该方法可以为a赋初值。
4.在Square类中实现perimeter方法,计算正方形周长,公式为周长=4*a,将计算结果作为perimeter方法的返回值。
5.使用同样方法创建Rou类,实现Shape接口,有一个float的成员变量,名称为r,定义Rou类有一个参数的构造方法,该方法可以为r赋初值。
6.在Rou类中实现perimeter方法,计算圆的周长,公式为周长=2*3.14*r,将计算结果作为perimeter方法的返回值。
7.创建主类MainClass,创建主函数main。
8.在主类中创建public static float getPerimeter(Shape s){}方法,该方法可以返回参数对象的周长。
9.在主类中分别创建一个Square类和Rou类的对象,使用构造方法对成员a和r任意复值,使用getPerimeter方法得到两个对象的周长,并输出至控制台。
public interface Shape {
float perimeter();
}
public class Square implements Shape{
float a;
public Square()
{
}
public Square(float a)
{
this.a=a;
}
public float perimeter()
{
float perimeter=4*a;
return perimeter;
}
}
public class Rou implements Shape{
float r;
public Rou()
{
}
public Rou(float r)
{
this.r=r;
}
public float perimeter()
{
float perimeter=(float)(2*3.14*r);
return perimeter;
}
}
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Square square=new Square(3);
Rou rou=new Rou(4);
System.out.println(getPerimeter(square));
System.out.println(getPerimeter(rou));
}
public static float getPerimeter(Shape s)
{
return s.perimeter();
}
}
71. 利用接口实现多态
推荐步骤:
1.新建工程,名称为COMPUTATION。
2.在工程中创建一个接口,名称为Body,内有一个名为volumn的方法,该方法的返回值类型为float。
3.创建类,名称为Cube,实现Body接口,并有一个float型的成员变量,名称为a,定义Cube类有一个参数的构造方法,该方法可以为a赋初值。
4.在Cube类中实现volumn方法,计算立方体体积,公式为面积=a*a*a,将计算结果作为volumn方法的返回值。
5.使用同样方法创建Ball类,实现Body接口,有一个float的成员变量,名称为r,定义Ball类有一个参数的构造方法,该方法可以为r赋初值。
6.在Ball类中实现volumn方法,计算球体体积,公式为面积=4/3*3.14*r*r*r,将计算结果作为volumn方法的返回值。
7.创建主类MainClass,创建主函数main。
8.在主类中创建public static float getVolumn(Body b){}方法,该方法可以返回参数对象的体积。
9.在主类中分别创建一个Cube类和Ball类的对象,使用构造方法对成员a和r任意复值,使用getVolumn方法得到两个对象的体积,并输出至控制台。
public interface Body {
float volumn();
}
public class Cube implements Body{
float a;
public Cube()
{
}
public Cube(float a)
{
this.a=a;
}
public float volumn()
{
float volumn=a*a*a;
return volumn;
}
}
public class Ball implements Body{
float r;
public Ball()
{
}
public Ball(float r)
{
this.r=r;
}
public float volumn()
{
float volumn=(float)(4/3*3.14*r*r*r);
return volumn;
}
}
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cube cube=new Cube(3);
Ball ball=new Ball(4);
System.out.println(getVolumn(cube));
System.out.println(getVolumn(ball));
}
public static float getVolumn(Body b)
{
return b.volumn();
}
}
72. 利用接口实现多态
推荐步骤:
1.新建工程,名称为COMPUTATION。
2.在工程中创建一个接口,名称为Body,内有一个名为volumn的方法,该方法的返回值类型为float。
3.创建类,名称为Cube,实现Body接口,并有一个float型的成员变量,名称为a,定义Cube类有一个参数的构造方法,该方法可以为a赋初值。
4.在Cube类中实现volumn方法,计算立方体体积,公式为面积=a*a*a,将计算结果作为volumn方法的返回值。
5.使用同样方法创建Ball类,实现Body接口,有一个float的成员变量,名称为r,定义Ball类有一个参数的构造方法,该方法可以为r赋初值。
6.在Ball类中实现volumn方法,计算球体体积,公式为面积=4/3*3.14*r*r*r,将计算结果作为volumn方法的返回值。
7.创建主类MainClass,创建主函数main。
8.在主类中创建public static float getVolumn(Body b){}方法,该方法可以返回参数对象的体积。
9.在主类中分别创建一个Cube类和Ball类的对象,使用构造方法对成员a和r任意复值,使用getVolumn方法得到两个对象的体积,并输出至控制台。
public interface Body {
float area();
}
public class Cube implements Body{
float a;
public Cube()
{
}
public Cube(float a)
{
this.a=a;
}
public float area()
{
float area=6*a*a;
return area;
}
}
public class Ball implements Body{
float r;
public Ball()
{
}
public Ball(float r)
{
this.r=r;
}
public float area()
{
float area=(float)(4*3.14*r*r);
return area;
}
}
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cube cube=new Cube(3);
Ball ball=new Ball(4);
System.out.println(getArea(cube));
System.out.println(getArea(ball));
}
public static float getArea(Body b)
{
return b.area();
}
}