0
このプログラムは正しくコンパイルされますが、幅と高さの値を入力しようとすると実行されず、代わりにエラーメッセージ " .lang.IllegalArgumentException:幅と高さが正でなければなりません "。メインメソッド以外でScannerを使用して定義した静的変数を正しく宣言するにはどうすればよいですか? (これは明らかである場合には申し訳ありません初心者プログラマ、!)不正な引数の例外 - メソッドで定義された静的変数を宣言する方法
public class Animation {
static int width;
static int height;
static double x0;
static double y0;
public static void main (String[] args) {
getInputs();
initStdDraw(width, height);
drawFace(x0, y0);
}
public static void initStdDraw(int width, int height) {
StdDraw.setCanvasSize(width, height);
StdDraw.setXscale(0, width);
StdDraw.setYscale(0, height);
StdDraw.rectangle(width/2, height/2, width/2, height/2);
}
public static void getInputs() {
Scanner console = new Scanner(System.in);
System.out.println("Please provide a canvas width and height: ");
int width = console.nextInt();
int height = console.nextInt();
System.out.println("Please provide a starting position: ");
double x0 = console.nextDouble();
double y0 = console.nextDouble();
を。幅/高さの値も印刷してください。 – john16384
'double x0 = console.nextDouble();'の代わりに 'x0 = console.nextDouble();'を意味しますか? (他の3つの変数と同じ)静的変数を割り当てるか、関連のない新しいローカル変数を定義しようとしていますか? –
はい!これは私の問題を解決した、ありがとうございました。私の以前のバージョンが私にエラーを与えた理由を説明してもらえますか? – kellabd