gpt4 book ai didi

java - 在main方法中调用方法

转载 作者:行者123 更新时间:2023-12-01 08:09:18 26 4
gpt4 key购买 nike

我希望这段代码生成一个 1 到 5 之间的随机数,然后使用该数字从我的 arraylist 中选择一个符号并打印它。每当我尝试调用 printSymbol() 方法时,它都会告诉我将其和 arraylist 更改为静态。当我这样做时,它在主方法中的方法调用行和显示 String y = list.get(x); 的行上给了我两个错误,我想知道如何做到这一点我可以调用这个方法并让它为我打印字符串 y。

import java.util.*;
import java.lang.Math;
public class study {
public static void main(String[] args) {
printSymbol();
}
ArrayList<String> list = new ArrayList<String>();
public void addSymbols(){
list.add("あ");
list.add("い");
list.add("う");
list.add("え");
list.add("お");
}
public String printSymbol(){
int x=(int) Math.floor(Math.random()*5)+1;
String y = list.get(x);
return y;
}

}

最佳答案

混合静态和非静态上下文会搞砸。

printSymbol() 方法是 study 类的一部分。 (使用 Study 代替,这是正确的约定。有关这些约定的更多信息,请参阅 here)。

main 方法位于静态上下文中。这意味着您需要创建一个 Study 类的对象,然后对该对象调用 printSymbol 方法。

public static void main(String[] args)
{
Study study = new Study(); // create a new object of the class Study
study.printSymbol(); // call the printSymbol method on this object
}

您还可以将 printSymbol() 方法和 ArrayList 设为静态,但这在 Java 中是不好的做法,Java 是一种面向对象的语言。

关于java - 在main方法中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18844613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com