Java Final Project动物监测系统



好吧,我已经在这个Java类中为我的最后一个项目构建了这段代码。给出的说明如下:

选项2:监控系统作为一名动物园管理员,了解你照顾的动物的活动并监测它们的生活栖息地是很重要的。创建一个可执行以下所有操作的监控系统:

询问用户是否要监视动物、监视栖息地或退出显示从动物或栖息地文件读取的动物/栖息地选项列表(基于之前的选择(

要求用户输入其中一个选项

  • 通过在文件中找到适当的部分来显示监控信息

  • 按类别和选择(如"动物-狮子"或"栖息地-企鹅"(分隔部分

  • 如果监视器检测到超出正常范围的内容,则使用对话框提醒动物园管理员(这些内容将在文件中用新行表示以*****开头。不要在对话框中显示星号。(

  • 允许用户返回到原始选项

我开发的代码如下:

import java.util.Scanner;

public class Final {

static final Scanner scan = new Scanner(System.in);

public static void main(String args[]) {
System.out.println("Menu:");
System.out.println("Monitor Animal");
System.out.println("Monitor Habitat");
System.out.println("Exit");

Scanner input1 = new Scanner(System.in);
String userInput1 = input1.nextLine();

if (userInput1.equals("Monitor Animal")); {
System.out.println("Details on lions");
System.out.println("Details on tigars");
System.out.println("Details on bears");
System.out.println("Details on giraffes");
System.out.println("Exit");

Scanner input2 = new Scanner(System.in);
String userInput2 = input2.nextLine();

switch(userInput2) {
case 1: userInput2 = "Details on lions";
System.out.println("Animal - Lion");
System.out.println("Name: Leo");
System.out.println("Age: 5");
System.out.println("Health concerns: Cut on left front paw");
System.out.println("Feeding schedule: Twice daily");
break;

case 2: userInput2 = "Details on tigers";
System.out.println("Animal - Tigar");
System.out.println("Name: Maj");
System.out.println("Health concerns: None");
System.out.println("Feeding schedule: 3x daily");
break;

case 3: userInput2 = "Details on bears";
System.out.println("Animal - Bear");
System.out.println("Name: Baloo");
System.out.println("Age: 1");
System.out.println("Health concerns: None");
System.out.println("Feeding schedule: None on record");
break;

case 4: userInput2 = "Details on giraffes";
System.out.println("Animal - Giraffe");
System.out.println("Name: Spots");
System.out.println("Age: 12");
System.out.println("Health concerns: None");
System.out.println("Feeding schedule: Grazing");
break;

case 5: userInput2 = "Exit";
break;

default: userInput2 = System.out.println("Error: Invalid Animal");
break;
}

if (userInput1.equals("Monitor Habitat")); {
System.out.println("Details on penguin habitat");
System.out.println("Details on bird house");
System.out.println("Details on aquarium");
System.out.println("Exit");

Scanner input3 = new Scanner(System.in);
String userInput3 = input3.nextLine();

switch(userInput3) {

case 1: userInput3 = "Details on penguin habitat";
System.out.println("Habitat - Penguin");
System.out.println("Temperature: Freezing");
System.out.println("Food source: Fish in water running low");
System.out.println("Cleanliness: Passed");
break;

case 2: userInput3 = "Details on bird house";
System.out.println("Habitat - Bird");
System.out.println("Temperature: Moderate");
System.out.println("Food source: Natural from environment");
System.out.println("Cleanliness: Passed");
break;

case 3: userInput3 = "Details on aquarium";
System.out.println("Habitat - Aquarium");
System.out.println("Temperature: Varies with output temperature");
System.out.println("Food source: Added daily");
System.out.println("Cleanliness: Needs cleaning from algae");
break;

case 4: userInput3 = "Exit";
break;

default: System.out.println("Error: Invalid Habitat");
break;
}

if (userInput1.equals("Exit")); {
System.out.println("Goodbye!");

}
}
}

它不会编译,我也不知道我做错了什么。有更好的方法吗?我已经试了一天半了,现在大约3个小时后就到期了。任何帮助都将不胜感激!

if-else语句的格式是错误的。不要在表达式后面提供分号。它应该是形式

if(expression){
//statement
}

在switch语句中,您将int与字符串进行比较。因此,您应该将字符串与字符串进行比较。例如,在您的代码中:

Scanner input2 = new Scanner(System.in);
String userInput2 = input2.nextLine();
switch(userInput2) {
case "Details on lions":
System.out.println("Animal - Lion");
System.out.println("Name: Leo");
System.out.println("Age: 5");
System.out.println("Health concerns: Cut on left front paw");
System.out.println("Feeding schedule: Twice daily");
break;

if上没有分号(示例(;

仅类型

if(){ 
} // simple as that. 

您的开关盒也有问题。需要

case 'Details on penguin habitat':
break;
case 'Details on bird house':
break

最新更新