java错误,至今懵逼,求解

```package code;
import code.User;
import code.Student;
import java.awt.*;

import javax.swing.JOptionPane;

public class DataHandle
{
User[] users = new User[4];
users[0] = new User("Tom","moT");
users[1] = new User("Jeff","ffeJ");
users[2] = new User("Dan","naD");
users[3] = new User("Jerry","yrreJ");
Student[] students = new Student[5];

int count = 0;

boolean CheakName (String name)
{
    for (int count = 0; count < 4; count++)
        if (users[count].getName() == name)
            return true;
    return false;
}   
boolean CheakPassword (String password) 
{
    for (int count = 0; count < 4; count++)
        if (users[count].getPassword() == password)
            return true;
    return false;
}

void RecordIn (int INPUT1, int INPUT2, int INPUT3, int INPUT4, String INPUT5)
{
    if (count == 4)
    {
        JOptionPane.showMessageDialog(null, "The storage is already full");
    }
    students[count] = new Student(INPUT1,INPUT2,INPUT3,INPUT4,INPUT5);
    count++;
}
void sortStudents ()
{
    for (int countO = 0; countO < count-1; countO++)
        for (int countI = countO; countI < count; countI++)
            if (students[countO].getNumber() > students[countI].getNumber())
            {
                Student swap = new Student(students[countI].getNumber(),
                                           students[countI].getChinese(),
                                           students[countI].getEnglish(),
                                           students[countI].getMath(),
                                           students[countI].getName());
                students[countI].setNumber(students[countO].getNumber());
                students[countI].setChinese(students[countO].getChinese());
                students[countI].setEnglish(students[countO].getEnglish());
                students[countI].setMath(students[countO].getMath());
                students[countI].setName(students[countO].getName());
                students[countO].setNumber(swap.getNumber());
                students[countO].setChinese(swap.getChinese());
                students[countO].setEnglish(swap.getEnglish());
                students[countO].setMath(swap.getMath());
                students[countO].setName(swap.getName());
            }
}
Student Serch (int INPUT)
{
    for (int Count = 0; Count < count; Count++)
        if (students[Count].getNumber() == INPUT)
            return students[Count];
    JOptionPane.showMessageDialog(null, "The student is not exsist");
}
Student Serch (String INPUT)
{
    for (int Count = 0; Count < count; Count++)
        if (students[Count].getName() == INPUT)
            return students[Count];
    JOptionPane.showMessageDialog(null, "The student is not exsist");
}

}

错误在第9至17行
错误提示如下:
第9行:Syntax error on token ";", { expected after this token 
第17行:Syntax error, insert "}" to complete Block
0

3个回答

图片说明
这个地方最后应该也要加个null的返回值吧,然后应该不会出现users数组不存在的情况,你可以再加个public的访问权限试一下

1
caozhy
weixin_45841714
接近 3 年之前 回复
leilba
林深 回复SuzumiyaSAMA: 实在不行,用原先的代码,就把那四行操作的代码放到构造方法里面,而且这样才是规范的做法
接近 3 年之前 回复
SuzumiyaSAMA
SuzumiyaSAMA 回复林深: 并没有什么区别。。。。
接近 3 年之前 回复
leilba
林深 回复SuzumiyaSAMA: 这两个调用的地方也加static呢
接近 3 年之前 回复
leilba
林深 回复SuzumiyaSAMA: static boolean CheakName (String name) { for (int count = 0; count < 4; count++) if (users[count].getName() == name) return true; return false; } static boolean CheakPassword (String password) { for (int count = 0; count < 4; count++) if (users[count].getPassword() == password) return true; return false; }
接近 3 年之前 回复
SuzumiyaSAMA
SuzumiyaSAMA 不可以啊......还是出错,下面全部提示未定义
接近 3 年之前 回复

图片说明
请不要将数据操作直接放在class层,class层只负责定义的初始化,但不能做赋值操作,你应该将操作放到某个方法(构造方法)里面进行。

1
SuzumiyaSAMA
SuzumiyaSAMA 但是这样一改,下面所有对users的使用就都出错了,提示数组不存在
接近 3 年之前 回复
leilba
林深 回复SuzumiyaSAMA: static User[] users = new User[4]; static { users[0] = new User("Tom","moT"); users[1] = new User("Jeff","ffeJ"); users[2] = new User("Dan","naD"); users[3] = new User("Jerry","yrreJ"); }
接近 3 年之前 回复
leilba
林深 回复SuzumiyaSAMA: 使用static静态方法
接近 3 年之前 回复
SuzumiyaSAMA
SuzumiyaSAMA 但是如果我想让这个数组的生命周期和整个程序一样怎么办?
接近 3 年之前 回复

看看是不是用来中文的符号

0
SuzumiyaSAMA
SuzumiyaSAMA 不是啊,所有符号我都检查了
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!