case 2:
float sub1 = 0.0;
do {
System.out.println("Enter the marks (in 100):");
System.out.println("Subject 1:");
sub1 = Float.parseFloat(br.readLne());
} while (sub1 >= 101);
... rest of the code ...
There is no goto in Java as of yet. It's a reserved word, in case there ends up being the need for it, but as far as I know, they haven't used it yet.
Probable equivalent code:
case 2:
float sub1 = 0.0;
do {
System.out.println("Enter the marks (in 100):");
System.out.println("Subject 1:");
sub1 = Float.parseFloat(br.readLne());
} while (sub1 >= 101);
... rest of the code ...
Note, this code would be equivalent for this particular situation. There's no universal replacement for goto; if there were, they'd just call it goto and be done with it. Each case will be different, and the replacement will depend entirely on how the goto would have been used.
package MyPackage
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Student stu = new Student();
float sub1 = 0;
int goThere = 0;
do {
switch(goThere){
case -1:
System.out.println("if U want 2 use further press 0 to continue...");
goThere = Integer.parseInt(br.readLine());
continue;
case 0:
System.out.println("--------------STUDENT DETAILS---------------");
System.out.println("Choose the operation from the following options.");
System.out.println(" 1.ADDNAME");
System.out.println(" 2.AVERAGE_RESULT");
System.out.println(" 3.EXIT");
System.out.println("CHOOSE THE OPERATION U WANT:");
goThere = Integer.parseInt( br.readLine() );
continue;
case 1:
System.out.println("Enter the name");
String name = br.readLine();
System.out.println("The Inserted student name is " + stu.addName(name));
goThere = -1;
continue;
case 2:
System.out.println("Enter the marks (in 100):");
System.out.println("Subject 1:");
sub1 = Float.parseFloat(br.readLine());
goThere = 4;
continue;
case 4:
if( sub1 >= 101){
goThere = 2;
continue;
}
System.out.println("Subject 2:");
float sub2=Float.parseFloat(br.readLine());
System.out.println("Subject 3:");
float sub3=Float.parseFloat(br.readLine());
System.out.println("The Student is " + stu.average(sub1,sub2,sub3) + "in the examinations");
goThere = -1;
continue;
}
break;
} while(true);
}
}
Rewrite for your code is here,
Put your "Student" class in the same package then Main.java;
package MyPackage
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Student stu = new Student();
float sub1 = 0;
int goThere = 0;
do {
switch(goThere){
case -1:
System.out.println("if U want 2 use further press 0 to continue...");
goThere = Integer.parseInt(br.readLine());
continue;
case 0:
System.out.println("--------------STUDENT DETAILS---------------");
System.out.println("Choose the operation from the following options.");
System.out.println(" 1.ADDNAME");
System.out.println(" 2.AVERAGE_RESULT");
System.out.println(" 3.EXIT");
System.out.println("CHOOSE THE OPERATION U WANT:");
goThere = Integer.parseInt( br.readLine() );
continue;
case 1:
System.out.println("Enter the name");
String name = br.readLine();
System.out.println("The Inserted student name is " + stu.addName(name));
goThere = -1;
continue;
case 2:
System.out.println("Enter the marks (in 100):");
System.out.println("Subject 1:");
sub1 = Float.parseFloat(br.readLine());
goThere = 4;
continue;
case 4:
if( sub1 >= 101){
goThere = 2;
continue;
}
System.out.println("Subject 2:");
float sub2=Float.parseFloat(br.readLine());
System.out.println("Subject 3:");
float sub3=Float.parseFloat(br.readLine());
System.out.println("The Student is " + stu.average(sub1,sub2,sub3) + "in the examinations");
goThere = -1;
continue;
}
break;
} while(true);
}
}
发布评论
评论(7)
到目前为止,Java 中还没有
goto
。这是一个保留词,以防万一最终需要它,但据我所知,他们还没有使用过它。可能的等效代码:
请注意,此代码对于这种特定情况是等效的。
goto
没有通用的替代品;如果有的话,他们只需调用它goto
并完成它。每种情况都会有所不同,并且替换将完全取决于goto
的使用方式。There is no
goto
in Java as of yet. It's a reserved word, in case there ends up being the need for it, but as far as I know, they haven't used it yet.Probable equivalent code:
Note, this code would be equivalent for this particular situation. There's no universal replacement for
goto
; if there were, they'd just call itgoto
and be done with it. Each case will be different, and the replacement will depend entirely on how thegoto
would have been used.你不必使用 goto (已经没有了)好吧。对于这个问题我们来思考一下。我认为这可能有用
试试这个。也许您可以扩展该代码。
You don't have to use goto (already there isn't) Ok. Let's think for this problem. I think this is may be useful
Try this. And may be you can extend that code.
根据此:
According to this:
正如其他人指出的,Java 中没有 goto 语句。我想补充一点, 标签 是一个小小的替代方案。
As others pointed, there is no
goto
statement in Java. I want to add that labels are a slight alternative.向前跳转
向后跳转
不应在任何明智的软件中使用;-)
Jumping forward
Jumping backward
It is not to be used in any sensible piece of software ;-)
虽然
goto
是Java中的保留关键字,但没有goto语句。While
goto
is a reserved keyword in Java, there is no goto statement.在这里重写您的代码,
将您的“Student”类放在与 Main.java 相同的包中;
Rewrite for your code is here,
Put your "Student" class in the same package then Main.java;