我正在制作一个程序,让您知道您的成绩(如果您是类(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/