-2
我得到靜態的思維過程和意義,但爲什麼?爲什麼Java中的掃描器會吐出「非靜態變量無法從靜態上下文中引用」?
import java.io.*;
import java.util.Scanner;
class AgeException extends Exception
{
public AgeException()
{
super("That age isn't valid.");
}
}
class ExceptionsInputs {
Scanner sc = new Scanner(System.in);
public static void main(String arg[])
{
try
{
int age = sc.nextInt();
if (age >= 0) {
}
if (age <= 125)
{
}
}
catch(AgeException ae)
{
System.out.println("Your Exception");
}
}
}
我得到的錯誤在第16行,int age = sc.nextInt();
。一個非靜態變量(sc)被引用/稱爲靜態變量。但是,爲什麼呢?
我想我知道我使用的scanner變量只是動態的,因爲它是可重用的,對嗎?
如果這是真的,我甚至會用這個代碼來處理這種情況?
是不是int
數據類型總是靜態的? nextInt
會起作用嗎?