how should i make my switch go back to main switch?
good day... i am creating an address book program... i used a switch in my main menu... and planning to create an another switch for my edit menu... my problem is.. I don't know how to go back to my main switch... this is my Main Program:
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class AddressBook {
private AddressBookEntry entry[];
private int counter;
public static void main(String[] args) {
AddressBook a = new AddressBook();
a.entry = new AddressBookEntry[100];
int option = 0;
while (option != 6) {
String content = "Choose an Option\n\n"
+ "[1] Add an Entry\n"
+ "[2] Delete an Entry\n"
+ "[3] Update an Entry\n"
+ "[4] View all Entries\n"
+ "[5] View Specific Entry\n"
+ "[6] Exit";
option = Integer.parseInt(JOptionPane.showInputDialog(content));
switch (option) {
case 1:
a.addEntry();
break;
case 2:
break;
case 3:
a.editMenu();
break;
case 4:
a.viewAll();
break;
case 5:
break;
case 6:
System.exit(1);
break;
default:
JOptionPane.showMessageDialog(null, "Invalid Choice!");
}
开发者_开发知识库}
}
public void addEntry() {
entry[counter] = new AddressBookEntry();
entry[counter].setName(JOptionPane.showInputDialog("Enter name: "));
entry[counter].setAdd(JOptionPane.showInputDialog("Enter add: "));
entry[counter].setPhoneNo(JOptionPane.showInputDialog("Enter Phone No.: "));
entry[counter].setEmail(JOptionPane.showInputDialog("Enter E-mail: "));
counter++;
}
public void viewAll() {
int i = 0;
for (; i < counter; i++) {
JOptionPane.showMessageDialog(null, new JTextArea(entry[i].getInfo()));
}
}
public void editMenu() {
int option = 0;
while (option != 6) {
String content = "Choose an Option\n\n"
+ "[1] Edit Name\n"
+ "[2] Edit Address\n"
+ "[3] Edit Phone No.\n"
+ "[4] Edit E-mail address\n"
+ "[5] Go Back to Main Menu\n";
option = Integer.parseInt(JOptionPane.showInputDialog(content));
switch (option) {
case 1:
editEntry();
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
default:
JOptionPane.showMessageDialog(null, "Invalid Choice!");
}
}
}
public void editEntry() {
String EName;
EName = JOptionPane.showInputDialog("Enter name to edit: ");
for (int i = 0; i < counter; i++) {
if (entry[i].getName().equals(EName)) {
entry[i].setName(JOptionPane.showInputDialog("Enter new name: "));
}
}
}
}
please help... thanks in advance :)
To return to the caller, you can use return;
instead of break;
In editMenu
case 5:
return;
However, i suspect your problem is that
while (option != 6) {
should be
while (option != 5) {
You could also use a label to break out of the while loop which would do the same thing here.
精彩评论