从另一个方法获取变量

时间:2017-01-31 11:38:56

标签: java string methods

我对Dice的此脚本有疑问。我使用Math.random编写了一个方法,现在我希望在我的程序中获得结果String

按钮必须掷骰子。

所以我的方法gooien滚动骰子并给我1到6之间的数字。 JButton正在召回这种重新骰子的方法。

现在我想要将数字重新转换为字符串。

// paneel met 3 tekstvakken
class dobbelsteentjes1 extends JPanel {
    private JButton gooien;

public dobbelsteentjes1(){

    gooien=new JButton ("Gooien");
    gooien.addActionListener(new gooienHandler());

    add(gooien);
}
//inwendige klasse
class gooienHandler implements ActionListener{

public void actionPerformed (ActionEvent e){
    gooien();
}

}
    public void gooien(){
    double gooi1, gooi2,worp1;
    gooi1= Math.random();
    gooi2=Math.random();
    worp1=gooi1*6+1;
}

public void paintComponent ( Graphics g ) {
    super.paintComponent( g );
    g.drawString( "U heeft gegooid:" + worp1, 50, 30);
}}    

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

这是因为程序的范围。您在编程语言中看到变量是作用域的。基本上你只有gooien()方法中的变量worp1作用域。在这种方法之外,什么都看不到这个变量。你可以做的是在你的类中声明worp1,如下所示:

 class dobbelsteentjes1 extends JPanel {
    private JButton gooien;
    double worp1 = 0;

然后你的方法应该是这样的:

 public void gooien(){
    double gooi1, gooi2;
    gooi1= Math.random();
    gooi2=Math.random();
    worp1=gooi1*6+1;
}

然后你可以在paintComponent中使用这个变量。在我的示例中,worp1是类的属性,它将从您的类实现的每个方法中可见。

答案 1 :(得分:0)

我想你想要Math.random()的String类型变量; 所以,试试这个:String var1 = Math.random()+“”;创建字符串类型变量。

答案 2 :(得分:0)

如果我理解正确,你试图在drawString方法中绘制worp1的值。但drawString方法属于Java Graphics库。这意味着您可以以两种形式使用它;

drawString(AttributedCharacterIterator iterator, int x, int y);

drawString(String str, int x, int y);

(如果你想在这里深入学习来源:https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html

所以,你必须将warp1参数的double值转换为String形式,如下所示: g.drawString(“U heeft gegooid:”+ Double.toString(warp1),5​​0,30);

希望它有所帮助。