Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java For循环后不可访问的语句,带有If语句_Java_Netbeans - Fatal编程技术网

Java For循环后不可访问的语句,带有If语句

Java For循环后不可访问的语句,带有If语句,java,netbeans,Java,Netbeans,我有一个非常基本的任务,但对我来说仍然是全新的领域。程序应该要求用户输入他们的姓名、姓氏、年级和科目。如果主题不是它,他们的输入就被放在一边。但是,如果输入的是受试者,他们的姓名、姓氏和等级将在稍后再次用于显示一条消息,如下所示: 根据用户输入的内容,信息可能会有所不同。现在问题来了。我正确地输入了代码,但在使用JOptionPane显示消息的最后,它显示了一个错误,上面写着:“Unreachable Statement”。(为了澄清它发生在代码行旁边)这很奇怪,因为它与作业备忘录几乎相同,但

我有一个非常基本的任务,但对我来说仍然是全新的领域。程序应该要求用户输入他们的姓名、姓氏、年级和科目。如果主题不是它,他们的输入就被放在一边。但是,如果输入的是受试者,他们的姓名、姓氏和等级将在稍后再次用于显示一条消息,如下所示:

根据用户输入的内容,信息可能会有所不同。现在问题来了。我正确地输入了代码,但在使用JOptionPane显示消息的最后,它显示了一个错误,上面写着:“Unreachable Statement”。(为了澄清它发生在代码行旁边)这很奇怪,因为它与作业备忘录几乎相同,但却有错误。可能是Netbeans在某种程度上被搞糊涂了,但我在家里重新分配了任务,它的工作方式与这里应该看到的一样:

    String name, surname, subject, message = "IT Learners:\n\n";
    int grade, counter = 0;

    for (int i = 0; i < 3; i++) {
        name = JOptionPane.showInputDialog("Enter Your Name Here: ");
        surname = JOptionPane.showInputDialog("Enter Your Surname Here: ");
        subject = JOptionPane.showInputDialog("Enter Your Subject Here: ");
        grade = Integer.parseInt(JOptionPane.showInputDialog("Enter Your "
                + "Grade Here: "));

        if (subject.equalsIgnoreCase("IT")) {
            message += name + " " + surname + " is in grade "
                    + grade + ".\n";
            counter++;
        }
    }
    JOptionPane.showMessageDialog(null, message + "There is a total of "
            + counter + " IT Learners.");
字符串名称、姓氏、主题、消息=“IT学习者:\n\n”;
整数级,计数器=0;
对于(int i=0;i<3;i++){
name=JOptionPane.showInputDialog(“在此处输入您的姓名:”);
姓氏=JOptionPane.showInputDialog(“在此处输入您的姓氏:”);
subject=JOptionPane.showInputDialog(“在此处输入主题:”);
grade=Integer.parseInt(JOptionPane.showInputDialog(“输入您的”
+“这里的等级:”);
if(主体等信号情况(“IT”)){
消息+=姓名+“”+姓氏+”在等级中
+等级+“\n”;
计数器++;
}
}
JOptionPane.showMessageDialog(空,消息+“共有”
+计数器+“IT学习者”);
代码的下一部分是我在此期间在终端上编写的代码的副本。我个人看不到这个错误,我来这里是想问它是正确的还是有一个小错误,我就是找不到

我在学校做的代码:

    String name, surname, subject, message = "IT Learners:\n\n";
    int grade, counter = 0;

    for (int i = 0; i < 3; i++) {
        name = JOptionPane.showInputDialog("Enter Your Name Here: ");
        surname = JOptionPane.showInputDialog("Enter Your Surname Here: ");
        subject = JOptionPane.showInputDialog("Enter Your Subject Here: ");
        grade = Integer.parseInt(JOptionPane.showInputDialog
                ("Enter Your Grade Here: "));

        if (subject.equalsIgnoreCase("IT")) 
        {
            message += name + " " + surname + " is in grade "
                    + grade + ".\n";
            counter++;
        }
    }
    JOptionPane.showMessageDialog(null, message + "There is a total of "
            + counter + " IT Learners.");
字符串名称、姓氏、主题、消息=“IT学习者:\n\n”;
整数级,计数器=0;
对于(int i=0;i<3;i++){
name=JOptionPane.showInputDialog(“在此处输入您的姓名:”);
姓氏=JOptionPane.showInputDialog(“在此处输入您的姓氏:”);
subject=JOptionPane.showInputDialog(“在此处输入主题:”);
grade=Integer.parseInt(JOptionPane.showInputDialog
(“在这里输入你的成绩:”);
if(主体等信号情况(“IT”))
{
消息+=姓名+“”+姓氏+”在等级中
+等级+“\n”;
计数器++;
}
}
JOptionPane.showMessageDialog(空,消息+“共有”
+计数器+“IT学习者”);
它看起来完全一样,是因为Netbeans被弄糊涂了,还是我遗漏了一个细节

完整代码:

    import javax.swing.JOptionPane;

    /**
    *
    * @author (My Name)
    */
    public class ITLearners {

    public static void main(String[] args) {
    // TODO code application logic here
    String name, surname, subject, message = "IT Learners:\n\n";
    int grade, counter = 0;

    for (int i = 0; i < 3; i++) {
        name = JOptionPane.showInputDialog("Enter Your Name Here: ");
        surname = JOptionPane.showInputDialog("Enter Your Surname Here: ");
        subject = JOptionPane.showInputDialog("Enter Your Subject Here: ");
        grade = Integer.parseInt(JOptionPane.showInputDialog("Enter Your "
                + "Grade Here: "));

        if (subject.equalsIgnoreCase("IT")) {
            message += name + " " + surname + " " + " is in grade "
                    + grade + ".\n";
            counter++;
        }
    }
    JOptionPane.showMessageDialog(null, message + "There is a total of "
            + counter + " IT Learners.");
}
}
import javax.swing.JOptionPane;
/**
*
*@作者(我的名字)
*/
公共收入阶层{
公共静态void main(字符串[]args){
//此处的TODO代码应用程序逻辑
字符串名称、姓氏、主题、消息=“IT学习者:\n\n”;
整数级,计数器=0;
对于(int i=0;i<3;i++){
name=JOptionPane.showInputDialog(“在此处输入您的姓名:”);
姓氏=JOptionPane.showInputDialog(“在此处输入您的姓氏:”);
subject=JOptionPane.showInputDialog(“在此处输入主题:”);
grade=Integer.parseInt(JOptionPane.showInputDialog(“输入您的”
+“这里的等级:”);
if(主体等信号情况(“IT”)){
消息+=姓名+“”+姓氏+“”+“”“在等级中”
+等级+“\n”;
计数器++;
}
}
JOptionPane.showMessageDialog(空,消息+“共有”
+计数器+“IT学习者”);
}
}

我现在觉得自己很傻。在学校完成的代码中的问题是for循环中的i条件是1。像这样:

   for ( int i = 0; 1 < 3; i++; )
for(int i=0;1<3;i++;)

从中得到的教训是:确保键入的所有内容都正确。有了1,我无意中创建了一个无限循环,但并没有意识到这一点。非常感谢您的帮助,尤其是@AcidResin

你的代码LGTM。我认为你需要显示整个代码。或者试试。我刚刚试过,没有错误。你的代码工作得很好。可能错误来自Netbeans。现在,您想尝试在命令行中运行和编译吗?我在家里用我重拨的那一个进行了尝试,结果是一样的,没有错误。在那之后,我用我在学校做的那本书的复印件做了这件事,也没有任何错误。我假设我当时正在做的学校终端上的NetBeans一定发生了什么事情,但仍然让人困惑的是,当三个人分别尝试时,它显示没有错误,结果没有错误,但学校的终端说它有错误。明天我上it课的第一件事就是向老师询问这个问题,然后我会回到你身边,希望能找到解决方案。还要检查Netbeans的版本及其编译器。希望这将有助于解决这个问题