本次的JAVA实验是基于前两次JAVA实验的基础上完成的,本次试验的任务是:
第一题由于需要创建三个类,本人习惯于将类放在同一个文件中,因此代码为:
外部类做法:
package Test;
import java.util.Scanner;
class People{
protected double heigh;
protected double weight;
public void speakHello(){
System.out.println("Hello/你好");
}
public void averageHeight(){
System.out.println("测量身高!!!");
Scanner scanner=new Scanner(System.in);
double[] a=new double[20];
double sumheight=0,aveheight;
int renshu;
System.out.println("输入要输入的人数:");
renshu=scanner.nextInt();
System.out.println("输入这些人身高:");
for(int i=0;i<renshu;i++){
a[i]=scanner.nextDouble();
sumheight+=a[i];
}
aveheight=(double)sumheight/renshu;
System.out.println("平均身高为:"+aveheight);
}
public void averageWeight(){
System.out.println("测量体重!!!");
Scanner scanner=new Scanner(System.in);
double[] b=new double[20];
double sumweight=0,aveweight;
int renshu;
System.out.println("输入要输入的人数:");
renshu=scanner.nextInt();
System.out.println("输入这些人体重:");
for(int i=0;i<renshu;i++){
b[i]=scanner.nextDouble();
sumweight+=b[i];
}
aveweight=(double)sumweight/renshu;
System.out.println("平均身高为:"+aveweight);
}
}
class ChinaPeople extends People{
public void speakHello(){
System.out.println("你好!");
}
public void chinaGongfu(){
System.out.println("坐如钟,站如松,睡如弓");
}
}
class AmericanPeople extends People{
public void speakHello(){
System.out.println("Hello!Hi!");
}
public void americanBoxing(){
System.out.println("直拳,勾拳");
}
}
public class sy81 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i;
System.out.println("如果是中国人则选择0,如果是美国人选择1!");
System.out.println("请选择:");
Scanner scanner=new Scanner(System.in);
i=scanner.nextInt();
if(i==0){
ChinaPeople ch1=new ChinaPeople();
ch1.speakHello();
ch1.chinaGongfu();
ch1.averageHeight();
ch1.averageWeight();
}else{
AmericanPeople am1=new AmericanPeople();
am1.speakHello();
am1.americanBoxing();
am1.averageHeight();
am1.averageWeight();
}
}
}
内部类,本人将它们当在两个文件中,命名为nbsy81,nbsy81jg
在nbsy81用于构造类文件中的代码为:
package Test;
import java.util.Scanner;
public class nbsy81 {
public class People{
protected double heigh;
protected double weight;
public void speakHello(){
System.out.println("Hello/你好");
}
public void averageHeight(){
System.out.println("测量身高!!!");
Scanner scanner=new Scanner(System.in);
double[] a=new double[20];
double sumheight=0,aveheight;
int renshu;
System.out.println("输入要输入的人数:");
renshu=scanner.nextInt();
System.out.println("输入这些人身高:");
for(int i=0;i<renshu;i++){
a[i]=scanner.nextDouble();
sumheight+=a[i];
}
aveheight=(double)sumheight/renshu;
System.out.println("平均身高为:"+aveheight);
}
public void averageWeight(){
System.out.println("测量体重!!!");
Scanner scanner=new Scanner(System.in);
double[] b=new double[20];
double sumweight=0,aveweight;
int renshu;
System.out.println("输入要输入的人数:");
renshu=scanner.nextInt();
System.out.println("输入这些人体重:");
for(int i=0;i<renshu;i++){
b[i]=scanner.nextDouble();
sumweight+=b[i];
}
aveweight=(double)sumweight/renshu;
System.out.println("平均身高为:"+aveweight);
}
}
public class ChinaPeople extends People{
public void speakHello(){
System.out.println("你好!");
}
public void chinaGongfu(){
System.out.println("坐如钟,站如松,睡如弓");
}
}
public class AmericanPeople extends People{
public void speakHello(){
System.out.println("Hello!Hi!");
}
public void americanBoxing(){
System.out.println("直拳,勾拳");
}
}
}
nbsy81jg代码为:
package Test;
import java.util.Scanner;
public class nbsy81jg {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i;
System.out.println("如果是中国人则选择0,如果是美国人选择1!");
System.out.println("请选择:");
Scanner scanner=new Scanner(System.in);
i=scanner.nextInt();
if(i==0){
ChinaPeople ch1=new ChinaPeople();
ch1.speakHello();
ch1.chinaGongfu();
ch1.averageHeight();
ch1.averageWeight();
}else{
AmericanPeople am1=new AmericanPeople();
am1.speakHello();
am1.americanBoxing();
am1.averageHeight();
am1.averageWeight();
}
}
}
在这里我们用0表示中国人,用1表示美国人.
实验结果为:
第二题:
我们同样以外部类与内部类的两种方法进行介绍
外部类的代码:同样放在一个文件中,代码为:
package Test;
class Monkey{
String name;
int age;
public void Monkey(){
System.out.println("a");
}
public void Monkey(String name,int age){
this.name=name;
System.out.println(name+","+age);
}
public void Monkey(String name){
this.name=name;
System.out.println(name);
}
public void speak(){
System.out.println("咿咿呀呀......");
}
}
class People1 extends Monkey{
String state;
public void People(String name,int age){
System.out.println("名字为"+name+"年龄为"+age);
}
public void speak(){
System.out.println("小样的,不错嘛!会说话了!");
if(state=="中国"){
System.out.println("你好");
}else{
System.out.println("hello!");
}
}
public void think(){
System.out.println("别说话!认真思考!");
}
public void people(String name,int age,String state){
this.state=state;
System.out.println("名字为:"+name+",年龄为:"+age+",国家为:"+state);
}
}
public class sy82 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Monkey m1=new Monkey();
People1 p1=new People1();
m1.Monkey();
m1.Monkey("Jack",1);
m1.Monkey("jack");
m1.speak();
p1.Monkey();
p1.People("jack",2);
p1.Monkey("jack");
p1.speak();
p1.think();
p1.people("赖春晖",21,"中国");
}
}
方法二:用内部类调用我们构建两个文件一个为nbsy82,nbsy82jg!
nbsy82中的代码为:
package Test;
public class nbsy2 {
public class Monkey{
String name;
int age;
public void Monkey(){
System.out.println("a");
}
public void Monkey(String name,int age){
this.name=name;
System.out.println(name+","+age);
}
public void Monkey(String name){
this.name=name;
System.out.println(name);
}
public void speak(){
System.out.println("咿咿呀呀......");
}
}
public class People1 extends Monkey{
String state;
public void People(String name,int age){
System.out.println("名字为"+name+"年龄为"+age);
}
public void speak(){
System.out.println("小样的,不错嘛!会说话了!");
if(state=="中国"){
System.out.println("你好");
}else{
System.out.println("hello!");
}
}
public void think(){
System.out.println("别说话!认真思考!");
}
public void people(String name,int age,String state){
this.state=state;
System.out.println("名字为:"+name+",年龄为:"+age+",国家为:"+state);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
nbsy82jg内的代码为:
package Test;
public class nbsy2jg {
public static void main(String[] args) {
// TODO Auto-generated method stub
Monkey m1=new Monkey();
People1 p1=new People1();
m1.Monkey();
m1.Monkey("Jack",1);
m1.Monkey("jack");
m1.speak();
p1.Monkey();
p1.People("jack",2);
p1.Monkey("jack");
p1.speak();
p1.think();
p1.people("赖春晖",21,"中国");
}
}
运行结果为:
到此为止!实验就做完了!