//这是个运用组合与继承来构造程序. class Plate{ Plate(int i){ System.out.println("Plate constructor"); } } class DinnerPlate extends Plate{ DinnerPlate(int i){ super(i); System.out.println("DinnerPlate constructor"); } } class Utensil{ Utensil(int i){ System.out.println("Utensil constructor"); } } class Spoon extends Utensil{ Spoon(int i){ super(i); System.out.println("Spoon constructor"); } } class Fork extends Utensil{ Fork(int i){ super(i); System.out.println("Fork constructor"); } }
class Knife extends Utensil{ Knife(int i){ super(i); System.out.println("Knife constructor"); } } class Custom{ Custom(int i){ System.out.println("Custom constructor"); } } public class PlaceSetting extends Custom{ Spoon sp; Fork frk; Knife kn; DinnerPlate pl; PlaceSetting(int i){ super(i+1); sp=new Spoon(i+2); frk=new Fork(i+3); kn=new Knife(i+4); pl=new DinnerPlate(i+5); System.out.println("PlaceSetting constructor"); } public static void main(String[] args){ PlaceSetting x=new PlaceSetting(9); } }
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
我又试了一个程序,还是有报错。楼主大哥这是怎么回事啊!谢谢指点!
----------------解决方案--------------------------------------------------------
楼主大哥,我把你的程序全都拜读了。有收获,可是好多都不懂啊!
能不能多加些注释?谢谢!
----------------解决方案--------------------------------------------------------
楼主大哥,我初学java,把你的程序复制下来运行了一下有报错:
E:\java\bin>javac lt1.java
lt1.java:7:class Class2 is public,should be declared in a file name Class2.java
public class Class2 extends Applet
^
1 error
这个错误是说,类Class2是public 类,在Class2.java应该先声明,你是少输了关键字public,还有
保存的文件名应为Class2.java,而不是It.java。
----------------解决方案--------------------------------------------------------
回复这么快!谢谢大哥!
----------------解决方案--------------------------------------------------------
帮我看看这段小代码: import java.awt.*; import java.applet.*; import java.awt.event.*; public class myclass extends Applet implements ActionListener; {Label l1,l2,l3; TextField t1,t2,t3; int a[]; float avg=0.0f; public void init() {l1=new Label("请输入个数:"); t1=new TextField(6); l2=new Label("输入范围from"); t2=new TextField(6); l3=new Label("to"); t3=new TextField(6); add(l1); add(t1); add(l2); add(t2); add(l3); add(t3); t3.addActionListener(this); } public void paint(Graphics g) { int i; for(i=0;i<a.length;i++) g.drawString(a[i],15,i*20); g.drawString("平均数为:"+avg,50,20); }
public void actionPerformed(ActionEvent e) {int n,from,to,i,j,t; n=Integer.parseInt(t1.getText()); from=Integer.parseInt(t2.getText()); to=Integer.parseInt(t3.getText()); to-=from; a=new int[n]; for(i=0;i<a.length;i++) {a[i]=(int)(Math.random()*to)+from; avg+=a[i];} avg/=n; for(i=0;i<a.length-1;i++) {for(j=i+1;j<a.length;j++) if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;} repaint(); } } 有一个错误,不知道在哪?
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
import java.awt.*; import java.applet.*; import java.awt.event.*; public class Myclass extends Applet implements ActionListener { Label l1,l2,l3; TextField t1,t2,t3; int a[]; float avg=0.0f; public void init(){ l1=new Label("请输入个数:"); t1=new TextField(6); l2=new Label("输入范围from"); t2=new TextField(6); l3=new Label("to"); t3=new TextField(6); add(l1); add(t1); add(l2); add(t2); add(l3); add(t3); t3.addActionListener(this); } public void paint(Graphics g) { int i; for(i=0;i<a.length;i++) g.drawString(""+a[i],15,i*20); }
public void actionPerformed(ActionEvent e){ int n,from,to,i,j,t; n=Integer.parseInt(t1.getText()); from=Integer.parseInt(t2.getText()); to=Integer.parseInt(t3.getText()); to-=from; a=new int[n]; for(i=0;i<a.length;i++) { a[i]=(int)(Math.random()*to)+from; avg+=a[i]; } avg/=n; for(i=0;i<a.length-1;i++) { for(j=i+1;j<a.length;j++){ if(a[i]>a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } repaint(); } } } }
g.drawString(a[i],15,i*20 ) //主要是这里错了! public class myclass extends Applet implements ActionListener; //分号多余;还少了好几个大刮号! public void init() { l1=new Label("请输入个数:"); t1=new TextField(6); l2=new Label("输入范围from"); t2=new TextField(6); l3=new Label("to"); t3=new TextField(6); add(l1); add(t1); add(l2); add(t2); add(l3); add(t3); t3.addActionListener(this); } // 若加上 btn=new Button("result"); // add(btn); // btn.addActionListener(this); //来个按钮,应该效果更好点!
----------------解决方案--------------------------------------------------------