Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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循环返回到上一个进行验证_Java_Validation - Fatal编程技术网

Java For循环返回到上一个进行验证

Java For循环返回到上一个进行验证,java,validation,Java,Validation,我正在制定一个最早的截止日期算法,我需要一个验证。我有一个for循环,它接受3个输入,例如,如果我首先输入这些值,即到达时间、突发时间和截止时间: 5 5 10 接下来的值是 0 1 20 我需要的是验证到达时间的第二个输入是否低于前一个输入。如果是这样,它将输出一条错误消息,并再次允许我为第二个作业输入值。它将继续执行此操作,直到看到有效的输入 for(int m=1;m<=n;m++) { System.out.println("enter arrival time, bu

我正在制定一个最早的截止日期算法,我需要一个验证。我有一个for循环,它接受3个输入,例如,如果我首先输入这些值,即到达时间、突发时间和截止时间:

5 5 10
接下来的值是

0 1 20
我需要的是验证到达时间的第二个输入是否低于前一个输入。如果是这样,它将输出一条错误消息,并再次允许我为第二个作业输入值。它将继续执行此操作,直到看到有效的输入

for(int m=1;m<=n;m++)
{
    System.out.println("enter arrival time, burst time and deadline of process "+(m)+"(0 for none):");
    arrival[m]=sc.nextInt();
    burst[m]=sc.nextInt();
    deadline[m]=sc.nextInt();
}
for(int m=1;m存储旧值(
v
在示例中),并将其与新值(
vn
在示例中)进行比较:

类值{
公众最终到站;
公共最终int突发事件;
公开的最后期限;
公共值(整数a、整数b、整数d){
这个。到达=a;
这个.burst=b;
这个最后期限=d;
}
}
值v=新值(Integer.MIN\u值、Integer.MIN\u值、,
整数(最小值);
价值观;
做{
vn=新值(sc.nextInt(),sc.nextInt(),sc.nextInt());
}而(vn.arrival
要快速完成简历,您可以这样做。 假设您从控制台读取值

int[] array = new int[2];
try {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    for (int j = 0; j < array.length ; j++) {
            int k = Integer.parseInt(br.readLine());
            array[j] = k;
            if((j == 1) && (array[j] > array[j-1])) {
              System.out.printLn("Burst time must be lower than arrival time");
              j--;
            }

    }
 }

catch (Exception e) {
        e.printStackTrace();
 }
int[]数组=新的int[2];
试一试{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
对于(int j=0;j数组[j-1])){
System.out.printLn(“突发时间必须低于到达时间”);
j--;
}
}
}
捕获(例外e){
e、 printStackTrace();
}

根据System.out的使用情况将java标记添加到您的问题中,但请始终使用编程语言标记您的问题。没有人关心“循环”、“for-loop”或“return”-对于任何问题,语言都是最重要的标记。thx用于提醒我。那么问题出在哪里?第一个问题:如何使其循环特定次数,以及在哪里放置错误消息。很抱歉,我仍然对循环语句感到困惑。
for(int I=0;I
使用
i
作为计数器循环
n
次。但是,我看不出这与您的代码片段有什么关系。
while
do
-
while
根据一个条件循环。这就是我从您的答案中查找(int m=0;marray[m-1])后得出的结论{System.out.println(“到达时间低于前一个作业的到达时间”);m--;}}}发生的情况是,即使第二个值高于前一个值,它仍会显示错误消息修改为if((m==1)&(数组[m]我已经这样做了,但是它只检查第一个出现错误的进程。但是对于下一个值较低的作业,则不会再次出现错误。哦,while循环与if相同(到达[m]>array[m-1])
int[] array = new int[2];
try {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    for (int j = 0; j < array.length ; j++) {
            int k = Integer.parseInt(br.readLine());
            array[j] = k;
            if((j == 1) && (array[j] > array[j-1])) {
              System.out.printLn("Burst time must be lower than arrival time");
              j--;
            }

    }
 }

catch (Exception e) {
        e.printStackTrace();
 }