首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >main方法中的调用方法

main方法中的调用方法
EN

Stack Overflow用户
提问于 2013-09-17 16:12:52
回答 6查看 10.2K关注 0票数 0

我希望这段代码生成一个介于1和5之间的随机数,然后使用这个数字,从我的arraylist中选择一个符号并打印出来。每当我尝试调用printSymbol()方法时,它都会告诉我要将其和arraylist更改为static。当我这样做时,它会在我的main方法的方法调用行上给我两个错误,还有一行是String y = list.get(x);,我想知道怎么做,所以我可以调用这个方法,让它为我打印字符串y。

代码语言:javascript
运行
复制
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;
}

}
EN

Stack Overflow用户

发布于 2013-09-17 16:19:04

将静态和非静态上下文混合在一起会造成混乱。

printSymbol()方法是类study的一部分。(请改用Study,这是正确的约定。有关这些约定的更多信息,请查看here)。

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

代码语言:javascript
运行
复制
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中不是好做法。

票数 3
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18844613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档