
这个JAVA程序错在哪了?麻烦大虾帮忙解答,急用!
packageArrayText;importjava.lang.*;importjava.awt.BorderLayout;importjava.awt.Color;i...
package ArrayText;
import java.lang.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.print.PageFormat;
import java.awt.print.PrinterJob;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import javax.swing.Box;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.event.UndoableEditEvent;
import javax.swing.event.UndoableEditListener;
import javax.swing.text.PlainDocument;
import javax.swing.undo.UndoManager;
public class ArrayText {
class man
{
private String name;
private int age;
private float height;
private float weight;
public void setname()//设置姓名
{
this.name="李哲";
}
public void setage(int a)//设置年龄
{
this.age=a;
}
public void setheight(float h)//设置身高
{
this.height=h;
}
public void setweight(float w)//设置体重
{
this.weight=w;
}
public void display()
{
System.out.println("学生姓名:"+name);
System.out.println("学生年龄:"+age);
System.out.print("学生身高:"+height);
System.out.println("cm\n学生体重:"+weight);
}
}
class Student extends man
{
private float sxcj;
public void sets(float s)
{
this.sxcj=s;
}
public void display()
{
super.display();
System.out.println("学生成绩:"+sxcj);
}
}
public static void main(String[] args)
{
Student s1=new student();
s1.setname();
s1.setage(20);
s1.setheight(183);
s1.setweight(60);
s1.sets(87);
s1.display();
}
} 展开
import java.lang.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.print.PageFormat;
import java.awt.print.PrinterJob;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import javax.swing.Box;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.event.UndoableEditEvent;
import javax.swing.event.UndoableEditListener;
import javax.swing.text.PlainDocument;
import javax.swing.undo.UndoManager;
public class ArrayText {
class man
{
private String name;
private int age;
private float height;
private float weight;
public void setname()//设置姓名
{
this.name="李哲";
}
public void setage(int a)//设置年龄
{
this.age=a;
}
public void setheight(float h)//设置身高
{
this.height=h;
}
public void setweight(float w)//设置体重
{
this.weight=w;
}
public void display()
{
System.out.println("学生姓名:"+name);
System.out.println("学生年龄:"+age);
System.out.print("学生身高:"+height);
System.out.println("cm\n学生体重:"+weight);
}
}
class Student extends man
{
private float sxcj;
public void sets(float s)
{
this.sxcj=s;
}
public void display()
{
super.display();
System.out.println("学生成绩:"+sxcj);
}
}
public static void main(String[] args)
{
Student s1=new student();
s1.setname();
s1.setage(20);
s1.setheight(183);
s1.setweight(60);
s1.sets(87);
s1.display();
}
} 展开
展开全部
第一个错误:
Student s1=new student();
改成Student s1=new Student();
第二个错误:
把class man和class Student放到外面,不能作为内部类
因为ArrayText并没有实例化,只是一个类,不是一个对象,所以没法调用类里面的成员类,如果非要作为内部类的话,可以再class man 和student前面加上static
Student s1=new student();
改成Student s1=new Student();
第二个错误:
把class man和class Student放到外面,不能作为内部类
因为ArrayText并没有实例化,只是一个类,不是一个对象,所以没法调用类里面的成员类,如果非要作为内部类的话,可以再class man 和student前面加上static
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里是成员内部类的用法,将Student s1=new student()改成ArrayText.Student s1=(new ArrayText()).new Student();
如果对内部类语法不太了解,就不要在类里面写类。
如果对内部类语法不太了解,就不要在类里面写类。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的Student类是内部类,不能直接这样new
应该这么写
Student s1 = new ArrayText().new Student();
应该这么写
Student s1 = new ArrayText().new Student();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class man和class Student放到外面,不能作为内部类
new student();大小写问题!
new student();大小写问题!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
man 和 student 要定义成静态的。像下面这样:
static class man
static class Student extends man
static class man
static class Student extends man
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询