本程序在Freejava上调试!错误提示在相应的地方给出!希望大家能帮纠正下,谢谢
代码为:import java.awt.*;
import java.awt.event.*;
import java.io.* ;public class Student extends Frame
{
public Student()
{
this.addWindowListener (new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
private String no ;
private String name ;
private Char sex ;
private int age ;
private String class_no ;
private student chassmate[] = null ;
//读对象信息
public String toString()
{
String s = "Name =" + name + "\n" ;
s += "Age =" + age + "\n" ;
s += "No =" + no + "\n" ;
s += "Sex =" + sex + "\n" ;
s += "Class_No =" + class_no + "\n" ;
return s ;
}
//更改年龄
public int SetAge(int New_age)
{
age = New_age ;
}
//更改班号
public String SetClass_No(String NewClass_No)
{
class_no = NewClass_No ;
}
//构造函数
public Student(String no1 , String name1 , Char sex1 , int age1 , String class_no1 )
{
no = no1 ;
name = name1 ;
sex = sex1 ;
age = age1 ;
class_no = class_no1 ;
}
public Student() ;
//增加一个学生
public void AddStudent(String no1 , String name1 , Char sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 )
{ exit(1) ;}
}
Sudent s = new Sudent(no1 , name1 , sex1 , age1 , class_no1) ;
classmate[classmate.length] = s ;
classmate.length += 1 ;
}
//根据学生信息删除某个学生
public void Delete_Student(String no1 , String name1 , Char sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
&& classmate[i].age == age1 && classmate[i].class_no == class_no1 )
{
for(int j=i ; j<classmate.length ; j++)
{
classmate[j] = classmate[j+1] ;
}
}
}
classmate.length -- ;
}
//将所有学生年龄增加一岁
public void Add_Age()
{
for(int i=0 ; i<classmate.length ; i++)
classmate[i].age ++ ;
}
//将某个学生转到相应的班
public void Change_class(Student s , String class_no)
{
s.class_no = class_no1 ;
}
//输入班号,列出该班所有学生
public void Show_class()
{
System.out.print("请输入班号:") ;
try{
BufferedReader br = new BufferdeReader(new InputStreamReader(System.in)) ;
String classno = br.readLine() ;
}catch(IOException e){} ;
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].class_no == classno)
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;
}
}
public static void main(String args[])
{
Student a = new Student a("08" , "yuu" , "男" , 21 , "计科(1)班") ;
//上面那行提示出错 AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ;
Show_class() ;
}
}
代码为:import java.awt.*;
import java.awt.event.*;
import java.io.* ;public class Student extends Frame
{
public Student()
{
this.addWindowListener (new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
private String no ;
private String name ;
private Char sex ;
private int age ;
private String class_no ;
private student chassmate[] = null ;
//读对象信息
public String toString()
{
String s = "Name =" + name + "\n" ;
s += "Age =" + age + "\n" ;
s += "No =" + no + "\n" ;
s += "Sex =" + sex + "\n" ;
s += "Class_No =" + class_no + "\n" ;
return s ;
}
//更改年龄
public int SetAge(int New_age)
{
age = New_age ;
}
//更改班号
public String SetClass_No(String NewClass_No)
{
class_no = NewClass_No ;
}
//构造函数
public Student(String no1 , String name1 , Char sex1 , int age1 , String class_no1 )
{
no = no1 ;
name = name1 ;
sex = sex1 ;
age = age1 ;
class_no = class_no1 ;
}
public Student() ;
//增加一个学生
public void AddStudent(String no1 , String name1 , Char sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 )
{ exit(1) ;}
}
Sudent s = new Sudent(no1 , name1 , sex1 , age1 , class_no1) ;
classmate[classmate.length] = s ;
classmate.length += 1 ;
}
//根据学生信息删除某个学生
public void Delete_Student(String no1 , String name1 , Char sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
&& classmate[i].age == age1 && classmate[i].class_no == class_no1 )
{
for(int j=i ; j<classmate.length ; j++)
{
classmate[j] = classmate[j+1] ;
}
}
}
classmate.length -- ;
}
//将所有学生年龄增加一岁
public void Add_Age()
{
for(int i=0 ; i<classmate.length ; i++)
classmate[i].age ++ ;
}
//将某个学生转到相应的班
public void Change_class(Student s , String class_no)
{
s.class_no = class_no1 ;
}
//输入班号,列出该班所有学生
public void Show_class()
{
System.out.print("请输入班号:") ;
try{
BufferedReader br = new BufferdeReader(new InputStreamReader(System.in)) ;
String classno = br.readLine() ;
}catch(IOException e){} ;
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].class_no == classno)
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;
}
}
public static void main(String args[])
{
Student a = new Student a("08" , "yuu" , "男" , 21 , "计科(1)班") ;
//上面那行提示出错 AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ;
Show_class() ;
}
}
解决方案 »
- 求教:关于properties的loadFromXML方法的问题
- 本类中dispose,是不是容易nullPointer,我碰到好几次了,不得已才放在另外的窗口中去dispose它
- 请问在java中,一个类可以调用另一个类的什么?多谢!
- Eclipse怎样装插件?
- linux+resin执行image.getGraphics();失败
- 如何区分一个中英混合字符串中那个是中文那个是英文。
- 如何将已有c++项目编译成android平台的.so共享库
- 该如何存放路径?
- 在 "Java TM',tm代表什么意思?
- Socket http请求中文乱码问题
- 介绍几本手机游戏项目开发实例分析的书
- 急!!!老师给的题目!谁能给个好的算法?~!
还有N多错误!!Student.java:61: cannot resolve symbol
symbol : variable classmate
location: class Student
for(int i=0 ; i<classmate.length ; i++)
^
Student.java:63: cannot resolve symbol
symbol : variable classmate
location: class Student
if(classmate[i].no == no1 )
^
Student.java:64: cannot resolve symbol
symbol : method exit (int)
location: class Student
{ exit(1) ;}
^
Student.java:67: cannot resolve symbol
symbol : class Sudent
location: class Student
Sudent s = new Sudent(no1 , name1 , sex1 , age1 , class_no1) ;
^
Student.java:67: cannot resolve symbol
symbol : class Sudent
location: class Student
Sudent s = new Sudent(no1 , name1 , sex1 , age1 , class_no1) ;
^
Student.java:68: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate[classmate.length] = s ;
^
Student.java:68: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate[classmate.length] = s ;
^
Student.java:69: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate.length += 1 ;
^
Student.java:75: cannot resolve symbol
symbol : variable classmate
location: class Student
for(int i=0 ; i<classmate.length ; i++)
^
Student.java:77: cannot resolve symbol
symbol : variable classmate
location: class Student
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
^
Student.java:77: cannot resolve symbol
symbol : variable classmate
location: class Student
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
^
Student.java:77: cannot resolve symbol
symbol : variable classmate
location: class Student
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
^
Student.java:78: cannot resolve symbol
symbol : variable classmate
location: class Student
&& classmate[i].age == age1 && classmate[i].class_no == class_no1 )
^
Student.java:78: cannot resolve symbol
symbol : variable classmate
location: class Student
&& classmate[i].age == age1 && classmate[i].class_no == class_no1 )
^
Student.java:80: cannot resolve symbol
symbol : variable classmate
location: class Student
for(int j=i ; j<classmate.length ; j++)
^
Student.java:82: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate[j] = classmate[j+1] ;
^
Student.java:82: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate[j] = classmate[j+1] ;
^
Student.java:86: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate.length -- ;
^
Student.java:92: cannot resolve symbol
symbol : variable classmate
location: class Student
for(int i=0 ; i<classmate.length ; i++)
^
Student.java:93: cannot resolve symbol
symbol : variable classmate
location: class Student
classmate[i].age ++ ;
^
Student.java:107: cannot resolve symbol
symbol : class BufferdeReader
location: class Student
BufferedReader br = new BufferdeReader(new InputStreamReader(System.in)) ;
^
Student.java:111: cannot resolve symbol
symbol : variable classmate
location: class Student
for(int i=0 ; i<classmate.length ; i++)
^
Student.java:113: cannot resolve symbol
symbol : variable classmate
location: class Student
if(classmate[i].class_no == classno)
^
Student.java:113: cannot resolve symbol
symbol : variable classno
location: class Student
if(classmate[i].class_no == classno)
^
Student.java:114: cannot resolve symbol
symbol : variable classmate
location: class Student
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;
^
Student.java:122: cannot resolve symbol
symbol : constructor Student (java.lang.String,java.lang.String,java.lang.String,int,java.lang.String)
location: class Student
Student a = new Student ("08" , "yuu" , "男" , 21 , "计科(1)班") ;
^
Student.java:123: AddStudent(java.lang.String,java.lang.String,char,int,java.lang.String) in Student cannot be applied to (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ;
^
Student.java:124: non-static method Show_class() cannot be referenced from a static context
Show_class() ;
^
28 errors
Exit code: 1
There were errors这是怎么回事呀?怎么很多都错在classmate.length上,这里有什么问题吗?
上面的classmate写成了chassmate,不过改后还有错误,提示为:Student.java:64: cannot resolve symbol
symbol : method exit (int)
location: class Student
{ exit(1) ;}
^
Student.java:67: cannot resolve symbol
symbol : class Sudent
location: class Student
Sudent s = new Sudent(no1 , name1 , sex1 , age1 , class_no1) ;
^
Student.java:67: cannot resolve symbol
symbol : class Sudent
location: class Student
Sudent s = new Sudent(no1 , name1 , sex1 , age1 , class_no1) ;
^
Student.java:69: cannot assign a value to final variable length
classmate.length += 1 ;
^
Student.java:86: cannot assign a value to final variable length
classmate.length -- ;
^
Student.java:107: cannot resolve symbol
symbol : class BufferdeReader
location: class Student
BufferedReader br = new BufferdeReader(new InputStreamReader(System.in)) ;
^
Student.java:113: cannot resolve symbol
symbol : variable classno
location: class Student
if(classmate[i].class_no == classno)
^
Student.java:114: cannot resolve symbol
symbol : variable class_name
location: class Student
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;
^
Student.java:122: cannot resolve symbol
symbol : constructor Student (java.lang.String,java.lang.String,java.lang.String,int,java.lang.String)
location: class Student
Student a = new Student ("08" , "yuu" , "男" , 21 , "计科(1)班") ;
^
Student.java:123: AddStudent(java.lang.String,java.lang.String,char,int,java.lang.String) in Student cannot be applied to (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ;
^
Student.java:124: non-static method Show_class() cannot be referenced from a static context
Show_class() ;
^
11 errors
Exit code: 1
There were errors
大家帮帮忙好吗?实在找不到了!!!Student.java:113: cannot resolve symbol
symbol : variable classno
location: class Student
if(classmate[i].class_no == classno)
^
Student.java:114: cannot resolve symbol
symbol : variable class_name
location: class Student
System.out.print("该学生的姓名为 :" + classmate[i].class_name ) ;
^
Student.java:122: cannot resolve symbol
symbol : constructor Student (java.lang.String,java.lang.String,java.lang.String,int,java.lang.String)
location: class Student
Student a = new Student ("08" , "yuu" , "男" , 21 , "计科(1)班") ;
^
Student.java:123: AddStudent(java.lang.String,java.lang.String,char,int,java.lang.String) in Student cannot be applied to (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ;
^
Student.java:124: non-static method Show_class() cannot be referenced from a static context
Show_class() ;
^
5 errors
Exit code: 1
There were errors
location: class Student
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;请问这是为什么呀????
^
后边都是classmate,拼写错误
不好意思,那都改了!!!
现在的源程序代码是这样:import java.awt.*;
import java.awt.event.*;
import java.io.* ;public class Student extends Frame
{
public Student()
{
this.addWindowListener (new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
private String no ;
private String name ;
private String sex ;
private int age ;
private String class_no ;
private Student[] classmate = null ;
//读对象信息
public String toString()
{
String s = "Name =" + name + "\n" ;
s += "Age =" + age + "\n" ;
s += "No =" + no + "\n" ;
s += "Sex =" + sex + "\n" ;
s += "Class_No =" + class_no + "\n" ;
return s ;
}
//更改年龄
public int SetAge(int New_age)
{
age = New_age ;
}
//更改班号
public String SetClass_No(String NewClass_No)
{
class_no = NewClass_No ;
}
//构造函数
public Student(String no1 , String name1 , String sex1 , int age1 , String class_no1 )
{
no = no1 ;
name = name1 ;
sex = sex1 ;
age = age1 ;
class_no = class_no1 ;
}
//增加一个学生
public void AddStudent(String no1 , String name1 , String sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 )
{
System.out.println("该学生已经存在,请确认你的输入是否正确!") ;
}
}
Student s = new Student(no1 , name1 , sex1 , age1 , class_no1) ;
classmate[classmate.length] = s ;
}
//根据学生信息删除某个学生
public void Delete_Student(String no1 , String name1 , String sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
&& classmate[i].age == age1 && classmate[i].class_no == class_no1 )
{
for(int j=i ; j<classmate.length ; j++)
{
classmate[j] = classmate[j+1] ;
}
}
}
}
//将所有学生年龄增加一岁
public void Add_Age()
{
for(int i=0 ; i<classmate.length ; i++)
classmate[i].age ++ ;
}
//将某个学生转到相应的班
public void Change_class(Student s , String class_no1)
{
s.class_no = class_no1 ;
}
//输入班号,列出该班所有学生
public void Show_class()
{
String classno ;
System.out.print("请输入班号:") ;
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) ;
classno = br.readLine() ;
}catch(IOException e){} ;
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].class_no == classno)
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;
}
}
public static void main(String args[])
{
Student s = new Student("08" , "yuu" , "男" , 21 , "计科(1)班") ;
// AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ;
s.Show_class() ;
}
}
最后剩下了一下错误了!!!symbol : variable class_name
location: class Student
System.out.println("该学生的姓名为 :" + classmate[i].class_name ) ;请问这是为什么呀????
大家帮帮看看呀!!!!初学者呀,还请大家赐教!!import java.awt.*;
import java.awt.event.*;
import java.io.* ;public class Student extends Frame
{
public Student()
{
this.addWindowListener (new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
private String no ;
private String name ;
private String sex ;
private int age ;
private String class_no ;
private Student[] classmate = null ;
//读对象信息
public String toString()
{
String s = "Name =" + name + "\n" ;
s += "Age =" + age + "\n" ;
s += "No =" + no + "\n" ;
s += "Sex =" + sex + "\n" ;
s += "Class_No =" + class_no + "\n" ;
return s ;
}
//更改年龄
public void SetAge(int New_age)
{
age = New_age ;
}
//更改班号
public void SetClass_No(String NewClass_No)
{
class_no = NewClass_No ;
}
//构造函数
public Student(String no1 , String name1 , String sex1 , int age1 , String class_no1 )
{
no = no1 ;
name = name1 ;
sex = sex1 ;
age = age1 ;
class_no = class_no1 ;
}
//增加一个学生
public void AddStudent(String no1 , String name1 , String sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 )
{
System.out.println("该学生已经存在,请确认你的输入是否正确!") ;
}
}
Student s = new Student(no1 , name1 , sex1 , age1 , class_no1) ;
classmate[classmate.length] = s ;
}
//根据学生信息删除某个学生
public void Delete_Student(String no1 , String name1 , String sex1 , int age1 , String class_no1)
{
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].no == no1 && classmate[i].name == name1 && classmate[i].sex == sex1
&& classmate[i].age == age1 && classmate[i].class_no == class_no1 )
{ if(classmate.length <= 1)
{
no = "" ;
name = "" ;
sex = "" ;
age = 0 ;
class_no = "" ;
}
else
{
for(int j=i ; j<classmate.length ; j++)
{
classmate[j] = classmate[j+1] ;
}
}
}
}
}
//将所有学生年龄增加一岁
public void Add_Age()
{
for(int i=0 ; i<classmate.length ; i++)
classmate[i].age ++ ;
}
//将某个学生转到相应的班
public void Change_class(Student s , String class_no1)
{
s.class_no = class_no1 ;
}
//输入班号,列出该班所有学生
public void Show_class()
{
String classno = "" ;
System.out.print("请输入班号:") ;
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) ;
classno = br.readLine() ;
}catch(IOException e){} ;
for(int i=0 ; i<classmate.length ; i++)
{
if(classmate[i].class_no == classno)
System.out.println("该学生的姓名为 :" + classmate[i].name ) ;
else
System.out.println("没有你要找的人,请确认你的输入正确与否!") ;
}
}
public static void main(String args[])
{
Student s = new Student("08" , "yuu" , "男" , 21 , "计科(1)班") ;
s.AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ; //这两行
s.DeleteStudent("08" , "yuu" , "男" , 21 , "计科(1)班") ; //怎么错了
s.Show_class() ;
}
}如果注释掉那两行,可以运行,但是运行后有错误,大家看看是不是数组越界了???
谢谢大家了?
字符串比较不能用== 应该用equals()
看看运行怎么样
{
Student s = new Student("08" , "yuu" , "男" , 21 , "计科(1)班") ;
s.AddStudent("09" , "langzi" , "男" , "22" , "计科(1)班") ; //这两行
s.DeleteStudent("08" , "yuu" , "男" , 21 , "计科(1)班") ; //怎么错了
s.Show_class() ;
}AddStudent()方法的第4个参数"22"应该是整型的22,不是字符串
DeleteStudent()方法应该为Delete_Student()