当前位置: 首页 > 知识库问答 >
问题:

如何解决我得到的多个“不能对非静态字段进行静态引用”错误?[副本]

裴威
2023-03-14

我知道这个问题在这个网站上被问了很多次,但给出的答案似乎对我没有帮助。我对爪哇很陌生。

import javax.swing.JOptionPane;

public class Lab10 {

    String species, color, injuries, name, wiput, liput, locationFound, oiput;
    char gender;
    float weight, length;
    boolean hasShots, needsShots;
    int tagNumber, cageNumber, outcome;

    public static void main(String[] args) {
        strayAnimal(species, color, weight, length, injuries, locationFound, name);

    }

    public static void strayAnimal(String species, String color, float weight, float length, String injuries, String locationFound, String name) {
        species = JOptionPane.showInputDialog("Please enter the species of the animal: ");
        color = JOptionPane.showInputDialog("Please enter the color of the animal: ");
        wiput = JOptionPane.showInputDialog("Please enter the weight of the animal");
        weight = Float.parseFloat(wiput);
        liput = JOptionPane.showInputDialog("Please enter the lenght of the animal: ");
        length = Float.parseFloat(liput);
        locationFound = JOptionPane.showInputDialog("Please enter the location the animal was found(City, County, State): ");
        injuries = JOptionPane.showInputDialog("Please enter the injuries the animal has seperated with commas: ");

    }
    //public static char strayAnimal() {

    //}
    public static void setOutcome(int outcome) {
        oiput = JOptionPane.showInputDialog("Please enter a '0' if the animal has or will be terminated or a '1' if the animal has been saved: ");
        outcome = Integer.parseInt(oiput);
    }
    public void giveShots() {
        boolean giveShots;
        if (giveShots = true) {

        }
    }
    public static void needShots() {
        boolean needShots;
    }
}

共有1个答案

白永昌
2023-03-14

您有一个静态方法,例如setoutput,它希望访问非静态变量,如output。那是不允许的。必须使变量output为静态或方法为非静态。

 类似资料:
  • 问题内容: 我正在学习Java。我编写了以下代码,但是当我尝试输入时,我在Arrayfunction()中收到此错误“无法对非静态输入字段进行静态引用”。为什么会这样,我该如何解决? } 问题答案: 扫描仪未定义为静态,因此在错误的范围内 在内部创建Scanner实例, 或使用以下方法创建扫描仪

  • 我有一个私有int数组,我需要以某种方式找到长度,但在静态类下无法做到这一点。我必须保持类的静态,是否可以添加其他方法来将a.length更改为其他方法? 该问题是由a.length引起的。

  • 问题内容: 只是为了澄清我正在考虑的这个权利,在Java中,静态字段是整个类使用的变量/字段,还是可以用于引用该类的所有对象?非静态字段是由对象定义的变量吗?并且与对象1引用相同类的第二个对象可以具有与对象1的静态字段不同的值吗? 问题答案: 与实例变量不同,在创建该类的实例之前,可以访问该类中的静态字段或静态类变量。在运行时创建该类的实例时,将创建该类中的实例变量(非静态变量)。因此,直到创建该

  • 我想澄清一下,在java中,静态字段是整个类使用的变量/字段,或者可以被引用该类的所有对象使用?非静态字段是由对象定义的变量?第二个对象引用与对象1相同的类,它可以对对象1的静态字段具有不同的值?

  • 我有一个非常简单的类,我想用它作为另一个类的子类。但当我将其代码放入父类时,我得到: 非静态变量,不能从静态上下文中引用 另一方面,当我将子类GenTest的类代码放在“父类”的类代码之外时,我没有得到这个错误。 为什么会发生这种情况?

  • 问题内容: 在UNI atm上做Java课程,我遇到了骰子问题。 我有以下内容: 编译时,我得到:无法从静态上下文引用非静态变量n。我如何解决这个问题,同时让它从用户给定的值中随机化? 问题答案: 不是静态变量,因此您不能以静态方式()引用它。 由于它是类中的实例变量,并且您正在类中引用它,因此可以使用代替。