Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何接收用户对数组的输入,然后用于绘制方法? package13; 导入java.awt.Graphics; 导入java.util.Scanner; 导入javax.swing.JApplet; 公共类BarChartApplet扩展了JApplet{ 最终int baseX=30; 最终int baseY=100; 最终整数宽度=10; 最终整数空间=30; //整数高度[]={30,20,40,90}; 整数高度[]=新整数[4]; System.out.println(“输入4个钢筋高度”); 扫描仪扫描=新扫描仪(System.in); 对于(int k=0;k_Java_Arrays_Swing_Awt_Paint - Fatal编程技术网

如何接收用户对数组的输入,然后用于绘制方法? package13; 导入java.awt.Graphics; 导入java.util.Scanner; 导入javax.swing.JApplet; 公共类BarChartApplet扩展了JApplet{ 最终int baseX=30; 最终int baseY=100; 最终整数宽度=10; 最终整数空间=30; //整数高度[]={30,20,40,90}; 整数高度[]=新整数[4]; System.out.println(“输入4个钢筋高度”); 扫描仪扫描=新扫描仪(System.in); 对于(int k=0;k

如何接收用户对数组的输入,然后用于绘制方法? package13; 导入java.awt.Graphics; 导入java.util.Scanner; 导入javax.swing.JApplet; 公共类BarChartApplet扩展了JApplet{ 最终int baseX=30; 最终int baseY=100; 最终整数宽度=10; 最终整数空间=30; //整数高度[]={30,20,40,90}; 整数高度[]=新整数[4]; System.out.println(“输入4个钢筋高度”); 扫描仪扫描=新扫描仪(System.in); 对于(int k=0;k,java,arrays,swing,awt,paint,Java,Arrays,Swing,Awt,Paint,您需要将代码放入一个方法中。方法是您唯一可以执行的东西。main方法是任何Java程序的入口点。它必须是静态的,因为还不存在任何实例 尤其需要将此代码包装到main中: package package13; import java.awt.Graphics; import java.util.Scanner; import javax.swing.JApplet; public class BarChartApplet extends JApplet { final int b

您需要将代码放入一个方法中。方法是您唯一可以执行的东西。
main
方法是任何Java程序的入口点。它必须是静态的,因为还不存在任何实例

尤其需要将此代码包装到main中:

package package13;

import java.awt.Graphics;
import java.util.Scanner;

import javax.swing.JApplet;

public class BarChartApplet extends JApplet {


    final int baseX=30;
    final int baseY=100;
    final int width=10;
    final int space=30;

    //int height[]={30,20,40,90};

    int height[]=new int[4];

    System.out.println("Enter 4 heights of the bars");
    Scanner scan = new Scanner (System.in);

    for (int k=0;k<height.length;k++) {
    height[k]=scan.nextInt();
    }

    int upperLeftX;
    int upperLeftY;


    public void paint(Graphics g) {

        g.drawLine(5, 100, 200, 100);

        for (int i=0;i<height.length;i++) {

            upperLeftX=baseX+i*(width+space);
            upperLeftY=baseY-height[i];
            g.fillRect(upperLeftX,upperLeftY,width,height[i]);

        }

    }
}}
publicstaticvoidmain(字符串[]args){
整数高度[]=新整数[4];
System.out.println(“输入4个钢筋高度”);
扫描仪扫描=新扫描仪(System.in);

对于(intk=0;k这是学习java的常见问题。您必须声明一个
publicstaticvoidmain(String[]args){}
方法,因为这是应用程序开始执行的地方。您可以将此方法视为独立于类。它仍然必须在类内声明,但您可以在任何类中声明该方法并使用它执行操作,不同之处在于,如果您在另一个类中声明它,则必须从该类执行程序

要在
main
中使用类中的方法,可以执行以下两种操作之一:

将方法声明为静态。这意味着该方法不直接与该类的任何一个对象关联,而只是该类本身的一部分。因此,如果您有一个类:

public static void main(String[] args) {
    int height[]=new int[4];

    System.out.println("Enter 4 heights of the bars");
    Scanner scan = new Scanner (System.in);

    for (int k=0;k<height.length;k++) {
        height[k]=scan.nextInt();
    }
}
然后你必须有一个特定的
新苹果你的苹果().eat();
才能吃,但你可以通过
苹果.descripe()来描述任何苹果实际上,这个例子有点虚构,因为在现实生活中,你可以描述任何一个特定的苹果,也可以描述一个普通的苹果,但在这个java例子中,你只能描述一个普通的苹果,如果你使用
new apple yourApple().descripe();
它将等同于
apple.descripe()

这种使用方法的静态方式很难在大型项目中扩展,因为它试图围绕java的类格式工作,但这是一种快速制作简单示例的好方法。我已经介绍了第二种方式,称为实例化,其工作原理是在主类中制作一个苹果并在其上调用方法:

public class Apple{
    public void eat(){}
    public static void describe(){}
}

我希望这有帮助。

“我得到了一个绘制方法的错误。什么错误?总是复制/粘贴错误和异常输出。非常感谢任何帮助。”任何问题都是如此。你有问题吗?请使用代码格式,输入/输出和结构化文档,如HTML或XML。要做到这一点,请选择示例并单击
{}
按钮位于消息发布/编辑表单上方。您能显示main吗?我假设您正在那里创建BarChartApplet的实例,然后为该实例调用paint方法。好的,当我替换接收用户输入的尝试并使高度数组具有我在其中输入的值时,它会工作。对,因为您可以在方法之外定义变量。但是你不能放置任何其他指令。(除非你使用init块,但这很少是正确的解决方案)当我第一次开始时,它让我非常困扰
public class Apple{
    public static void main(String[] args){
        Apple apple = new Apple();
        Apple.eat();
    }
    public void eat(){
        System.out.println("Nom");
    }
}