java - 带数组字符串的缓冲读取器

标签 java arrays if-statement bufferedreader

我正在制作一个程序,让您知道您的成绩(如果您是类(class)成员,例如类(class)部分)。这只是数组的基础研究,我仍在学习它的过程中。很抱歉问这个问题(如果您认为这对您来说太基本了)

    import java.io.*;
    class itlog {
    public static void main (String args[]) throws IOException {

    int [] student_num = {100,56,75,70,90,50};
    int student_no;
    String [] studentName = {"janet, dada, dodo, dede, didi, hihi"};
    String student;     

    BufferedReader rb = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("What is your name?: ");
    student = rb.readLine();

    if (student.equals("janet"));
    {System.out.println("Pasok.");


    if (student.equals("dada"));
    System.out.println("Pasok.");


    if (student.equals("dodo"));
    System.out.println("Pasok.");


    if (student.equals("dede"));
    System.out.println("Pasok.");


    if (student.equals("didi"));
    System.out.println("Pasok.");

    if (student.equals("hihi"));
    System.out.println("Pasok.");

    }

    else
    System.out.println("Labas.");



    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Type your Class Ranking: ");
    student_no = Integer.parseInt(br.readLine());

    if (student_no >= 1 && student_no < 6)
    System.out.println("You're School Grade is" + " " + student_num[student_no-1]);

    else
    System.out.println("You're not a student here.");

}
}

正如你所看到的,我想制作一个程序,如果你在那里输入你的名字(例如你是珍妮特),则会输出一个单词“Pasok”,但如果你不是成员(member),那么这将是“拉巴斯”。我不知道“Labas”的 else 语句中该怎么做。因为它一直显示“else without if”错误。我搜索了问题的原因,所有答案都是没有花括号。我试着把它放进去,但仍然有一个错误。而else语句中的“你不是这里的学生”。功能正常。这有什么问题吗?

最佳答案

正如上面的注释所说,删除 if 语句末尾的分号;你真正的 if 语句是

if (student.equals("dede")) {
  ; // Empty instruction!
}
System.out.println("Pasok.");

更好的方法可能是使用一组Set学生,而不是多个if;更少的代码,更少的错误!

Set<String> students = new HashSet<String>(Arrays.asList(new String [] {"janet, dada, dodo, dede, didi, hihi"}));
if(students.contains(student)) {
  System.out.println("Pasok.");
}
else {
  System.out.println("Labas.");
}

关于java - 带数组字符串的缓冲读取器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21955329/

相关文章:

c - 首次检测到错误后返回错误代码

php - PHP 中的冒号运算符

java - 如何配置 Ehcache 进行点对点复制

java - 老C++程序员,Java新手,需要Java多线程和事件方面的帮助

java - SharedPreferences 返回错误值并且不更新当前值

java - 连接到 AWS DocumentDB 时出现 com.mongodb.CommandFailureException

javascript - javascript 函数无法生成精确的更改

javascript - 正确保存数据到mongoDB

arrays - Angular 5,来自 API 的 JSON 数组

javascript - 如何从第一个功能转到下一个功能?