Java 如何获取用户输入,将其验证为整数,并使用它创建多个矩形?

Java 如何获取用户输入,将其验证为整数,并使用它创建多个矩形?,java,Java,我对编码非常陌生,现在,我正在尝试创建一个脚本(如果你这么称呼它的话)并绘制一些用户在随机位置输入的矩形。现在,我在整理代码时遇到了一些困难: import cs1.Keyboard; import java.applet.Applet; import java.awt.*; public class Rectangles extends Applet{ public static void main (String[] args){ String message;

我对编码非常陌生,现在,我正在尝试创建一个脚本(如果你这么称呼它的话)并绘制一些用户在随机位置输入的矩形。现在,我在整理代码时遇到了一些困难:

import cs1.Keyboard;
import java.applet.Applet;
import java.awt.*;


public class Rectangles extends Applet{
    public static void main (String[] args){
        String message;

        System.out.println ("Enter an integer:");

        message = Keyboard.readString();

        String input = message;
        int inputInt;
        try{
            inputInt = Integer.parseInt(input);
        } 
        catch (Exception e){
            System.out.println("Not an integer; please use a valid integer");
            System.exit(-1);
        }

        System.out.println ("You entered \"" + message + "\"");
    }


public void paint (Graphics page){
    for(int i=1; i < message; i++){
        int width = 10 + (int) (Math.random() * 40);
        int height = 10 + (int) (Math.random() * 40);
        int x = (int) (Math.random() * (getWidth() - width));
        int y = (int) (Math.random() * (getHeight() - height));
        page.drawRect (width,height,x,y);
        }
    }
}
但是,如果我不使用代码,我会得到:

Rectangles.java:30: error: cannot find symbol
for(int i=1; i < message; i++){
                 ^
symbol:   variable message
location: class Rectangles
矩形。java:30:错误:找不到符号
for(int i=1;i

我不知道如何组织它,以便生成用户所需的矩形数量:有人可以帮助我编写脚本,以便public void paint可以使用该变量吗?

在代码消息中是一个字符串,您在其中使用for循环,并将其与整数变量进行比较。 首先用Input替换消息,然后for循环应该可以工作

根据甲骨文文档-

公共空间涂料(图g) 画这块画布。 为画布创建子类的大多数应用程序都应该重写此方法,以便执行一些有用的操作(通常是画布的自定义绘制)。默认操作只是清除画布。重写此方法的应用程序不需要调用super.paint(g)

您是否对Canvas进行了子类化?我想您还没有对Canvas进行子类化,这就是为什么这个方法会抛出错误的原因


希望这能解决您的问题。

您混合了用户范例,如果您使用的是图形界面,您不想使用命令行界面(反之亦然)。小程序不想(传统上)有一个
main
方法,所以这是一个错误的开始,我还建议你完全避免使用applet,除了麻烦之外,它们不再真正受支持(applet插件已经被浏览器开发人员删除)消息不存在于
main
之外。它超出范围。我得到的唯一错误是
for(int I=1;I
是因为
消息
超出了范围。我的一般建议是退一步。如果您是Java/编程新手,请回到基础知识,了解变量范围是如何工作的,了解如何在程序中传递信息。一旦您做到了这一点,就可以开始讨论更复杂的主题图形和用户界面的设计
Rectangles.java:30: error: cannot find symbol
for(int i=1; i < message; i++){
                 ^
symbol:   variable message
location: class Rectangles