请按模板要求,将【代码】替换为Java程序代码.

请按模板要求,将【代码】替换为Java程序代码.,第1张

这类问题主要考你接口和抽象类,多态的问题。首先要了解他们的作用,然后再出发。请打好基础,学习这门语言很重要。。。。

代码1: public interface Animal

代码2:public void playSound(){

Systemoutprintln("现在播放"+new Dog()getAnimalName()+"类的声音");

Systemoutprintln("现在播放"+new Cat()getAnimalName()+"类的声音");

}

代码3:

public void cry(){

Systemoutprintln("汪汪汪汪");

}

代码4:public String getAnimalName(){

return "狗";

}

代码5:

public void cry(){

Systemoutprintln("喵喵喵喵");

}

代码6:public String getAnimalName(){

return "猫";

}

Dog d=(Dog)a是将a对向强制类型转换成Dog类型的

18行写Animal a=new Dog()是不可以的,因为变量a已经在同一语句块声明了,是不可以再次声明的

12行的Anima不可以去掉,变量声明语句中数据类型不可以省略

import javautilScanner;

public class ShowDeffrentDigit {

 public static void main(String[] args) {

  // TODO Auto-generated method stub 

  Scanner input = new Scanner(Systemin);

  Systemoutprint("Enter ten numbers:");

  int[] numbers = new int[10];

  for (int i = 0; i < 10; i++) {

   numbers[i] = inputnextInt();

  }

  int z = 10;

  for (int i = 0; i < z; i++) {

   for (int j = i + 1; j < z; j++) {

    if (numbers[i] == numbers[j]) {

     for (int k = j; k < z - 1; k++) {

      numbers[k] = numbers[k + 1];

     }

     z = z - 1;

     j = j - 1;

    }

   }

  }

  Systemoutprintln("The number of distinct number is " + z);

  Systemoutprint("The distinct numbers are:");

  for (int i = 0; i < z; i++) {

   Systemoutprint(numbers[i] + " ");

  }

 }

}

Java程序:

import javaawtFlowLayout;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswingJButton;

import javaxswingJComboBox;

import javaxswingJFrame;

import javaxswingJTextField;

 

public class Main extends JFrame implements ActionListener {

    JComboBox cmbMenu_All, cmbMenu_Selected;

    JButton btnAdd, btnRemove;

    JTextField txtNum;

    String[] menus = {"羊肉火锅", "狗肉火锅", "鱼仔火锅", "剁椒鱼头", "水煮活鱼",

     "柴火鱼", "酸辣鱼片", "茄子煲", "拨丝香蕉", "小炒肉",

     "小鸡炖蘑菇", "水煮肉片", "白斩鸡", "海带炖排骨", "熘丝瓜",

     "皮蛋煮苋菜", "醋溜土豆丝", "梅菜扣肉", "香芋地瓜丸", "凉拌藕尖"};

     

    public Main() {

        super("点菜");        

        thissetLayout(new FlowLayout());

        

        cmbMenu_All = new JComboBox(menus);

        cmbMenu_Selected = new JComboBox();

        btnAdd = new JButton(">>");

        btnRemove = new JButton("<<");

        txtNum = new JTextField(10);

        txtNumsetText("0");

        txtNumsetAlignmentX(CENTER_ALIGNMENT);

          

        thisadd(cmbMenu_All);

        thisadd(btnAdd);

        thisadd(btnRemove);

        thisadd(cmbMenu_Selected);

        thisadd(txtNum);

        

        btnAddaddActionListener(this);

        btnRemoveaddActionListener(this);

        

        thissetSize(400, 200);

        thissetVisible(true);

        thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

    }

     

    public static void main(String[] args) {

        new Main();

    }

@Override

public void actionPerformed(ActionEvent arg0) {

JButton btn = (JButton) arg0getSource();

int num = IntegerparseInt(txtNumgetText()trim());

int i;

if(btn == btnAdd) {

for(i=0; i<cmbMenu_SelectedgetItemCount(); i++) {

if(cmbMenu_SelectedgetItemAt(i)toString()equals(cmbMenu_AllgetSelectedItem()toString())) {

break;

}

}

if(i < cmbMenu_SelectedgetItemCount()) {

return;

}

cmbMenu_SelectedaddItem(cmbMenu_AllgetSelectedItem());

num++;

txtNumsetText(StringvalueOf(num));

}

else if(btn == btnRemove) {

cmbMenu_SelectedremoveItemAt(cmbMenu_SelectedgetSelectedIndex());

num--;

txtNumsetText(StringvalueOf(num));

}

}

}

运行测试:

abstract class Animal{

String name;

public Animal(String name){

thisname=name;

}

abstract void shout();

}

class Dog extends Animal{

public Dog(String name){

super(name);

}

public void shout(){

Systemoutprintln("狗在叫");

}

}

class Cat extends Animal{

public Cat(String name){

super(name);

}

public void shout(){

Systemoutprintln("猫在叫");

}

}

class Sheep extends Animal{

public Sheep(String name){

super(name);

}

public void shout(){

Systemoutprintln("羊在叫");

}

}

public class Demo {

public static void main(String[] args) {

// TODO Auto-generated method stub

Animal a=new Dog("汪星人");

letAnimalShout(a);

Animal b=new Cat("喵星人");

letAnimalShout(b);

Animal c=new Sheep("羊星人");

letAnimalShout(c);

}

public Static Animal get(String choice)//这句是定义一个静态方法get ,static表示该方法是静态方法, void表示方法没有返回值(在方法没有返回值时用),而该句的返回值类型是Animal (Animal是一个用户自定义的类 类似你熟知的int,string,char等), 例如public viod get(){}这个方法就没有返回值且是非静态方法 而public static string set(){}这个方法就是静态方法且返回值的string类型。请不要混淆返回值类型与static二者并非一个概念

静态与非静态:当一个函数或者一个变量前面加上static时表示该方法或变量是静态的,否则就是非静态的。java和c#一样是面向对象的语言,创建一个类后需要实例类的对象调用方法或者变量,当声明的方法或者变量时静态时就可以直接用类名调用,因为静态的是属于类所有,并非属于类的某个对象

choice是什么意思? choice是get方法的形式参数(形参)通俗一些就是个傀儡,只有这个get方法被调用的时候形参就被赋予了实参的值,才真正有了意义。例如你的例子Animal al=Storeget("dog");中调用了get方法并传递实参"dog" ,此时choice的值就是"dog","dog"与"dog"当然是俩个相等的字符串 所以程序最后输出的肯定和狗有关。如果get方法被调用时传的实参不是"dog",Animal al=Storeget("pig");此时choice值就是"pig","pig"与“dog”不是相同的字符串所以最后结果肯定和猫又关(呵呵)

if(choiceequalsIgnoreCase("dog"))是什么意思? 这是判断当get函数被调用时传递的实参是否是“dog”, java中equalsIgnoreCase是判断两个字符串是否相等它不考虑大小写,如果两个字符串的长度相等,并且两个字符串中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。(当get被调用时choice的值就变为实参的值)

正如LS所说main 方法是java程序的入口,当程序运行时首先运行main方法中的内容 ,记住main方法的格式就行,以后你会慢慢理解main

如果还有不是很清楚的地方 百度hi我……

这回答应该通俗易懂不知lz满意否?怎么样给分吧……

四个类:Pet Dog Penguin PetTest(测试类)

1、Pet类:

/

  宠物类

  Created by LuHuan on 2017/7/27

 /

public class Pet {

    String name = "null";

    int health = 100;//健康值

    int love = 0;//亲密度

    //打印输出宠物信息

    public void print() {

        Systemoutprint("我的名字叫" +  name + ",我的健康值是:" + health + ",我和主人的亲密程度是" + love + "");

    }

    public String getName() {

        return name;

    }

    public int getHealth() {

        return health;

    }

    public int getLove() {

        return love;

    }

}

2、Dog类:

/

  狗狗类

  Created by LuHuan on 2017/7/27

 /

public class Dog extends Pet {

    String strain = "拉布拉多犬";//品种

    public String getStrain() {

        return strain;

    }

    //重写宠物的自白方法

    @Override

    public void print() {

        superprint();

        Systemoutprintln("我是一只" + strain);

    }

}

3、Penguin类:

/

企鹅类

 Created by LuHuan on 2017/7/27

/

public class Penguin extends Pet {

String sex = "Q仔";//性别

public String getSex() {

return sex;

}

//重写宠物的自白方法

@Override

public void print() {

superprint();

Systemoutprintln("我的性别是" + sex);

}

}

4、PetTest测试类:

/

  测试类

  Created by LuHuan on 2017/7/27

 /

public class PetTest {

    public static void main(String[] args) {

        Dog dog = new Dog();

        dogname = "欧欧";

        Penguin pgn = new Penguin();

        pgnname = "楠楠";

        Systemoutprintln("宠物的自白:");

        dogprint();

        Systemoutprintln("宠物的自白:");

        pgnprint();

    }

}

5、输出:

宠物的自白:

我的名字叫欧欧,我的健康值是:100,我和主人的亲密程度是0我是一只拉布拉多犬

宠物的自白:

我的名字叫楠楠,我的健康值是:100,我和主人的亲密程度是0我的性别是Q仔

public class Animal{

public run(){

Systemoutprintln("this animal is running");

}

}

class Horse extends Animal{

public run(){

Systemoutprintln("Horse is running");

}

}

class Dog extends Animal{

public run(){

Systemoutprintln("Dog is running");

}

}

class Main{

public static void main(){

Animal[] a = new Animal[3];

a[0] = new Animal();

a[1] = new Horse();

a[2] = new Dog();

for(int i = 0;i < alength;i++){

a[i]run();

}

}

}

这是让你掌握动态绑定。(代码直接写的,如果小错的话自己改改吧)

楼主是学生吧(所以没用一些内部类和foreach循环语句),这些入门的实验正好锻炼自己动手与学习能力的好机会,靠别人说是没有进步的,推荐的两本书就是Thinking Java和Core JAVA,好好研究一下原理,多多掌握基础知识。

祝楼主学有所成。

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/3318594.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-02-21
下一篇2024-02-21

发表评论

登录后才能评论

评论列表(0条)

    保存