标记为循环,继续键不起作用 import java.util.Scanner; 课程详情{ int-num; 字符串名称[]; 双标记[]; 双倍总额[]; 串级[]; void getData(){ 扫描器ob=新扫描器(System.in); System.out.print(“输入学生人数:”); num=ob.nextInt(); 名称=新字符串[num][2]; 分数=新的双精度[num][4]; 对于(int x=0;x 系统输出打印(“名字:”); 名称[x][0]=ob.next(); 系统输出打印(“姓氏:”); name[x][1]=ob.next(); 循环1: 对于(int p=1;p 15)) { System.out.println(“标记应在0到15之间”); 继续循环1; } } 循环2: 对于(INTP=1;P20) { System.out.println(“标记应在0到20之间”); 继续循环2; } } 循环3: 对于(int p=1;p 15) { System.out.println(“标记应在0到15之间”); 继续循环3; } } 第四条: 对于(int p=1;p 50) { System.out.println(“标记应在0到20之间”); 继续循环4; } } System.out.println(); } } 公众假期总数(){ 总计=新的双精度[num]; 对于(int x=0;x 总数[x]=分数[x][0]+分数[x][1]+分数[x][2]+分数[x][3]; } } 公众假期职系(){ 等级=新字符串[num]; 对于(int x=0;x 如果(总计[x]>=80){ 职系[x]=“A”; }否则,如果(总计[x]>=70){ 职系[x]=“B”; }否则,如果(总计[x]>=60){ 职系[x]=“C”; }否则,如果(总计[x]>=50){ 职系[x]=“D”; }否则{ 等级[x]=“F”; } } } 作废打印(){ System.out.println(“\t\t\t结果表\n\n\t第一个名称\t第一个名称\t等级”); 对于(int x=0;x System.out.println(“\t”+名称[x][0]+“\t\t”+名称[x][1]+“\t\t”+等级[x]); } } } 课堂测试{ 公共静态void main(字符串[]args){ 详细信息数据=新的详细信息(); data.getData(); data.total(); 数据。等级(); data.print(); } }

标记为循环,继续键不起作用 import java.util.Scanner; 课程详情{ int-num; 字符串名称[]; 双标记[]; 双倍总额[]; 串级[]; void getData(){ 扫描器ob=新扫描器(System.in); System.out.print(“输入学生人数:”); num=ob.nextInt(); 名称=新字符串[num][2]; 分数=新的双精度[num][4]; 对于(int x=0;x 系统输出打印(“名字:”); 名称[x][0]=ob.next(); 系统输出打印(“姓氏:”); name[x][1]=ob.next(); 循环1: 对于(int p=1;p 15)) { System.out.println(“标记应在0到15之间”); 继续循环1; } } 循环2: 对于(INTP=1;P20) { System.out.println(“标记应在0到20之间”); 继续循环2; } } 循环3: 对于(int p=1;p 15) { System.out.println(“标记应在0到15之间”); 继续循环3; } } 第四条: 对于(int p=1;p 50) { System.out.println(“标记应在0到20之间”); 继续循环4; } } System.out.println(); } } 公众假期总数(){ 总计=新的双精度[num]; 对于(int x=0;x 总数[x]=分数[x][0]+分数[x][1]+分数[x][2]+分数[x][3]; } } 公众假期职系(){ 等级=新字符串[num]; 对于(int x=0;x 如果(总计[x]>=80){ 职系[x]=“A”; }否则,如果(总计[x]>=70){ 职系[x]=“B”; }否则,如果(总计[x]>=60){ 职系[x]=“C”; }否则,如果(总计[x]>=50){ 职系[x]=“D”; }否则{ 等级[x]=“F”; } } } 作废打印(){ System.out.println(“\t\t\t结果表\n\n\t第一个名称\t第一个名称\t等级”); 对于(int x=0;x System.out.println(“\t”+名称[x][0]+“\t\t”+名称[x][1]+“\t\t”+等级[x]); } } } 课堂测试{ 公共静态void main(字符串[]args){ 详细信息数据=新的详细信息(); data.getData(); data.total(); 数据。等级(); data.print(); } },java,Java,continue关键字的问题是,如果我们输入错误,它将不起作用。我认为您不理解continue关键字的含义。您使用的continue关键字在其当前位置不会起任何作用。例如,此部分: import java.util.Scanner; class Details { int num; String NAMES[][]; double MARKS[][]; double TOTAL[]; String GRADES[]; void getData(

continue关键字的问题是,如果我们输入错误,它将不起作用。我认为您不理解continue关键字的含义。您使用的continue关键字在其当前位置不会起任何作用。例如,此部分:

import java.util.Scanner;

class Details {
    int num;
    String NAMES[][];
    double MARKS[][];
    double TOTAL[];
    String GRADES[];

    void getData() {
        Scanner ob = new Scanner(System. in );
        System.out.print("Enter the number of students : ");
        num = ob.nextInt();
        NAMES = new String[num][2];
        MARKS = new double[num][4];
        for (int x = 0; x
            System.out.print("First Name : ");
            NAMES[x][0] = ob.next();
            System.out.print("Last Name : ");
            NAMES[x][1] = ob.next();
            loop1: 
            for (int p = 1; p <= 1; p++)
            {
                System.out.print("\tFirst Test Marks : ");
                MARKS[x][0] = ob.nextDouble();
                if ((MARKS[x][0] < 0) || (MARKS[x][0] > 15))
                {
                    System.out.println("Marks should be within 0 to 15");
                    continue loop1;
                }
            }
            loop2: 
            for (int p = 1; p <= 1; p++)
            {
                System.out.print("\tMid Term Marks : ");
                MARKS[x][1] = ob.nextDouble();
                if (MARKS[x][1] < 0 || MARKS[x][1] > 20)
                {
                    System.out.println("Marks should be within 0 to 20");
                    continue loop2;
                }
            }
            loop3: 
            for (int p = 1; p <= 1; p++)
            {
                System.out.print("\tLab Test Marks : ");
                MARKS[x][2] = ob.nextDouble();
                if (MARKS[x][2] < 0 || MARKS[x][2] > 15)
                {
                    System.out.println("Marks should be within 0 to 15");
                    continue loop3;
                }
            }
            loop4: 
            for (int p = 1; p <= 1; p++)
            {
                System.out.print("\tFinal Marks : ");
                MARKS[x][3] = ob.nextDouble();
                if (MARKS[x][3] < 0 || MARKS[x][3] > 50)
                {
                    System.out.println("Marks should be within 0 to 20");
                    continue loop4;
                }
            }
            System.out.println();
        }
    }
    public void total() {
        TOTAL = new double[num];
        for (int x = 0; x
            TOTAL[x] = MARKS[x][0] + MARKS[x][1] + MARKS[x][2] + MARKS[x][3];
        }
    }
    public void grades() {
        GRADES = new String[num];
        for (int x = 0; x
            if (TOTAL[x] >= 80) {
                GRADES[x] = "A";
            } else if (TOTAL[x] >= 70) {
                GRADES[x] = "B";
            } else if (TOTAL[x] >= 60) {
                GRADES[x] = "C";
            } else if (TOTAL[x] >= 50) {
                GRADES[x] = "D";
            } else {
                GRADES[x] = "F";
            }
        }
    }
    void print() {
        System.out.println("\t\t\tRESULT SHEET\n\n\tFirst Name\tLast Name\tGrade");
        for (int x = 0; x
            System.out.println("\t" + NAMES[x][0] + "\t\t" + NAMES[x][1] + "\t\t" + GRADES[x]);
        }
    }
}
class test {
    public static void main(String[] args) {
        Details data = new Details();
        data.getData();
        data.total();
        data.grades();
        data.print();
    }
}

您的问题是循环长度为1:
loop1:for(int p=1;p我假设您不了解
continue
的作用,它用于跳过循环的其余部分,然后重新开始。只有当您有嵌套的循环并且希望
继续
(或
中断
)时,才需要标记循环外环

(主题外:我建议创建一个新类,如
Student
,包含名字、姓氏和标记,以便代码更易于阅读。)

Java规则1:如果使用标签和跳转,代码的结构是错误的。没有例外


因此,为了解决这个问题,你应该把问题改成:“如何正确修改这个代码以消除跳转?”< /P>请适当地格式化你的文章——不仅仅是缩进代码(直到它是代码字体),而且还删除空白行。另外,给出更多的细节——“它不起作用”。信息永远不够。我还强烈建议您开始遵循Java命名约定。这是什么
(int x=0;x
应该做什么?您是否错过了它的一半?是的,这是一个提供输入并计算分数的程序,例如,如果我输入错误“100”对于第一个标记,我希望程序将继续循环(因为我放置了带标签的循环)Ohh…真的谢谢你,它正在工作。但是如果我将BufferReader用于扫描仪,它将是一条错误消息未报告异常IOException;必须捕获或声明抛出num=Integer.parseInt(ob1.readLine());
loop1: 
for (int p = 1; p <= 1; p++)
{
    System.out.print("\tFirst Test Marks : ");
    MARKS[x][0] = ob.nextDouble();
    if ((MARKS[x][0] < 0) || (MARKS[x][0] > 15))
    {
        System.out.println("Marks should be within 0 to 15");
        continue loop1;
    }
}
while(true) {
    System.out.print("\tFirst Test Marks : ");
    MARKS[x][0] = ob.nextDouble();
    if ((MARKS[x][0] < 0) || (MARKS[x][0] > 15)) {
        System.out.println("Marks should be within 0 to 15");
    } else {
        break;
    }
}
        boolean firstConditionSatisfied = false;
        while (!firstConditionSatisfied) {
            System.out.print("\tFirst Test Marks : ");
            MARKS[x][0] = ob.nextDouble();
            if ((MARKS[x][0] < 0) || (MARKS[x][0] > 15)) {
                System.out.println("Marks should be within 0 to 15");
            } else {
                firstConditionSatisfied = true;
            }
        }