Java 如何在其他类中使用变量来重复某些内容?(爪哇)
我用Java编程是为了做一个简单的程序来模拟Facebook菜单,只是为了练习面向对象编程。事情是这样的 在名为Decision的类中,用户输入“0”退出,“1”注册,或输入“2”登录 我希望程序在用户注册或登录后返回主菜单,因为在下面的代码中,当用户既不注册也不登录程序时,程序结束 使用的变量称为option,我想我必须在main类中使用它来做我想做的事情,重复主菜单 这是我的密码:Java 如何在其他类中使用变量来重复某些内容?(爪哇),java,class,oop,variables,inheritance,Java,Class,Oop,Variables,Inheritance,我用Java编程是为了做一个简单的程序来模拟Facebook菜单,只是为了练习面向对象编程。事情是这样的 在名为Decision的类中,用户输入“0”退出,“1”注册,或输入“2”登录 我希望程序在用户注册或登录后返回主菜单,因为在下面的代码中,当用户既不注册也不登录程序时,程序结束 使用的变量称为option,我想我必须在main类中使用它来做我想做的事情,重复主菜单 这是我的密码: class Decision { // THIS IS THE CLASS FOR ENTER THE OPT
class Decision { // THIS IS THE CLASS FOR ENTER THE OPTION.
protected byte option; // THIS IS THE VARIABLE.
public Decision() {
boolean aux = true; // THIS IS ONLY FOR VALIDATE WRONG INPUT.
Scanner sc = new Scanner(System.in);
do {
try {
System.out.println("\n\t\t\t*-------------------------------*");
System.out.println("\t\t\t\t FACEBOOK");
System.out.println("\t\t\t*-------------------------------*\n");
System.out.println("0.-EXIT FACEBOOK\n");
System.out.println("1.-SIGN UP\n");
System.out.println("2.-LOG IN\n");
option = sc.nextByte();
aux = true;
if (option >= 3 || option < 0) {
aux = false;
System.out.println("\nPLEASE INSERT A VALID OPTION.\n");
}
if (option == 0) {
System.out.println("\nSEE YOU SOON.\n");
aux = true;
}
} catch (InputMismatchException exc) {
aux = false;
sc.nextLine();
System.out.println("\nPLEASE INSERT A VALID OPTION.\n");
}
} while (aux == false); // I USE THIS FOR VALIDATE THE INPUT, DO NOT
// WORRY AT ALL.
}// CONSTRUCTOR
}// Decision
class Data extends Decision { // THIS IS THE CLASS FOR ENTER DATA (NAME, LAST
// NAME, ETC)
Scanner sc = new Scanner(System.in);
public void Title() {
System.out.println("\n\t\t\t*-------------------------------*");
System.out.println("\t\t\t\t FACEBOOK");
System.out.println("\t\t\t*-------------------------------*\n");
}// Title
public void Decision() {
if (option == 1) {
// IN THIS PART THE USER IS CREATING A PROFILE AND STUFF.
} else {
if (option == 2) {
// IN THIS PART THE USER ONLY LOG IN AND THE SEE THE INFO.
}
}// else
}// Decision
}// DATA
public class Facebook { // AND THIS IS THE MAIN CLASS
protected Decision option;
public Facebook() {
option = new Decision();
}// CONSTRUCTOR
public static void main(String args[]) {
Facebook facebook = new Facebook();
}// main
}// Facebook
如果您想在程序中重复某些内容,自然的答案应该是使用循环。更改退出条件aux==false,最好是!aux,它是等效但更好的编程风格。例如:
// initialize it to false in case the first iteration of the loop throws an exception
boolean exit = false;
do {
//...
exit = option == 0;
while (!exit);
顶部提示:不要将逻辑放入构造函数中。把它放在方法中。数据永远不会被使用