Java 为什么我的编译器会给出错误“不是循环标签'moviesMenu'”
我不知道为什么,但我的编译器没有给出循环标签“moviesMenu”。我想继续菜单 我上了5节课 游戏 影视 电视节目 音乐 入口 这是门户测试文件。我犯了错误吗?我找不到它。这是我的OOP课程的一个项目,我把它作为我的项目Java 为什么我的编译器会给出错误“不是循环标签'moviesMenu'”,java,Java,我不知道为什么,但我的编译器没有给出循环标签“moviesMenu”。我想继续菜单 我上了5节课 游戏 影视 电视节目 音乐 入口 这是门户测试文件。我犯了错误吗?我找不到它。这是我的OOP课程的一个项目,我把它作为我的项目 import java.util.*; import java.util.Scanner; public class PortalTest { public static void main(String[] args) { int moviesMenuInput
import java.util.*;
import java.util.Scanner;
public class PortalTest {
public static void main(String[] args) {
int moviesMenuInput;
Portal portal = new Portal();
Movies movies = new Movies();
Games games = new Games();
TvShows tvShows = new TvShows();
Music music = new Music();
portal.displayData();
Scanner input1 = new Scanner(System.in);
int menuInput = input1.nextInt();
moviesMenu:
{
switch (menuInput) {
case 1:
System.out.println("1 - ADD MOVIES");
System.out.println("2 - REMOVE MOVIES");
System.out.println("3 - SEARCH MOVIES");
System.out.println("4 - RETURN TO MENU");
Scanner input2 = new Scanner(System.in);
moviesMenuInput = input2.nextInt();
switch (moviesMenuInput) {
case 1:
System.out.println("Enter Movie Name : ");
Scanner input6 = new Scanner(System.in);
String addMoviesNameInput = input6.nextLine();
movies.setMovieName(addMoviesNameInput);
System.out.println("Enter Movie Release Date : ");
Scanner input7 = new Scanner(System.in);
String addMoviesReleaseDateInput = input7.nextLine();
movies.setMovieReleaseDate(addMoviesReleaseDateInput);
System.out.println("Enter Movie Genre : ");
Scanner input8 = new Scanner(System.in);
String addMoviesGenreInput = input8.nextLine();
movies.setMovieGenre(addMoviesGenreInput);
System.out.println("Enter Movie Download Link : ");
Scanner input9 = new Scanner(System.in);
String addMoviesDownloadLinkInput = input9.nextLine();
movies.setDownloadLink(addMoviesDownloadLinkInput);
System.out.println("MOVIE ADDED");
break;
case 2:
System.out.println("Enter Name of Movie to Delete : ");
Scanner input10 = new Scanner(System.in);
String deleteMoviesInput = input10.nextLine();
if (movies.getMovieName() == deleteMoviesInput) {
movies.setMovieName(null);
System.out.println("MOVIE DELETED ! ");
}
break;
case 3:
System.out.println("Enter Name of Movie to Search : ");
break;
}
continue moviesMenu;
}
}
你的标签电影没有循环。这就是为什么您得到的错误不是循环标签“moviesMenu”
要解决此问题,请在标签中添加一个循环:
moviesMenu:
while (true){
switch (menuInput) {
//The rest of your code...
break;
}
break;
}
对于嵌套循环,标签用于标识循环。你的代码就在那里,在代码块之前,而不是实际的循环。如果你在标签后面加上一个无限循环(如果为true),那么它应该会起作用,但是你真的应该有一个带continue/break条件的循环,并且去掉标签。你真的需要尝试将代码的格式设置得更好一些,这会使阅读变得非常困难。你可能应该努力将代码的格式设置得更好。如果您希望人们阅读代码,那么尝试正确地读入代码是非常糟糕的。没有人应该试着阅读这段代码。对不起,这是我在这里问的第一个问题。所以,如果有一些问题,我想用这种方式格式化它会把它贴出来。非常感谢你,循环不在那里,这就是为什么它现在不能工作的原因。我可以完成我的其余代码。