我在编程方面遇到困难,我是新手,因此我将发送整个程序到目前为止,我只需要案例'2'的帮助!它说无法找到符号变量数组。
import java.util.Scanner ;
public class jakegrimson20062582 {
public static void main(String[] args) {
// Local variable
int option;
String squareFootage;
int noBed;
Scanner input = new Scanner( System.in );
Scanner user_input = new Scanner( System.in );
// Display menu graphics
System.out.println(" ");
System.out.println("| *****Rental Menu******* |");
System.out.println("| 1. Enter rental property Details ");
System.out.println("| 2. Enter monthly rent ( 12 Months ) ");
System.out.println("| 3. Display Annual Rent");
System.out.println("| 4. Display rental report ");
System.out.println("| 5. Display Monthly rents falling below a certain threshold ");
System.out.println(" ");
System.out.println(" Please Select an option: ");
option = input.nextInt();
// Switch construct
switch (option) {
case 1:
System.out.println("Enter Rental Details: ");
System.out.println("Property Code: ");
String propertyCode = user_input.next();
System.out.println("Property Type: ");
String propertyType = user_input.next();
System.out.println("Square Footage: ");
squareFootage = user_input.next();
System.out.println("Number Of bedrooms ");
noBed = input.nextInt();
break;
case 2:
{
Scanner keyboardScanner = new Scanner(System.in);
int[] array;
array = new int[12];
// creates for loop
for (int i=0; i<12; i++)
{
System.out.println("Enter Rental for month");
array[i] = keyboardScanner.nextInt();
}
for (int i=0; i<array.length; i++)
{
System.out.println(array[i]);
}
}
System.out.println("");
break;
case 3:
System.out.println("Exit selected");
break;
default:
System.out.println("Invalid selection");
break;
}
}
}
我需要帮助才能完成此代码,不仅仅是这个问题所有帮助完成的代码将非常受欢迎,因为关于主题我有阵列的一般问题,我可能需要一个这个代码的字符串版本而不是INT,因为放入的数字具有小数点。谢谢!
答案 0 :(得分:2)
将代码缩进为人类可读的内容:
case 2:
{
Scanner keyboardScanner = new Scanner(System.in);
int[] array;
array = new int[12];
// creates for loop
for (int i=0; i<12; i++) {
System.out.println("Enter Rental for month");
array[i] = keyboardScanner.nextInt();
}
}
// prints i in the for loop
for (int i=0; i<array.length; i++) {
System.out.println(array[i]);
}
这使得错误更加明显。您在case 2
块中使用大括号{}
创建了代码块,并在该块的内声明了array
变量。这意味着变量仅限于该块的范围。然后,您尝试访问该块之外的变量,该变量不再存在。
for
阻止<{1}}阻止<{1}}循环 或者也许应该完全省略该块的花括号,因为{}
不需要它们?
答案 1 :(得分:0)
使用正确的格式,以便查看案例2的结束位置。数组变量仅存在于案例2中,并且您尝试在该范围之外使用它。