Java方法和类帮助noob

时间:2014-12-09 14:44:05

标签: java class random methods

我有这段代码:

Scanner scan = new Scanner(System.in);
Random rand = new Random();
int num1 = rand.nextInt(100);
int num2 = rand.nextInt(100);

我在这里要问的是,如果它们是以不同的方法创建的,我怎样才能将这些方法转换为另一种方法。我使用该代码创建方法'x',然后创建另一个需要的方法'y'在'x'方法中使用这些变量 我在尝试一些无法做到的事情吗?或者我应该使用对象/类或其他什么

请帮忙。

1 个答案:

答案 0 :(得分:0)

制作对象的唯一方法如下

class foo
{
int num1
int num2

public void someMethod()
{
Scanner scan = new Scanner(System.in);
Random rand = new Random();
num1 = rand.nextInt(100);
num2 = rand.nextInt(100);
}
}

这将使它们成为全局变量,可以从类中的任何位置访问它而不必传递对象。但是,这不是最佳实践。最佳做法是创建一个设置num1num2的对象,并返回更改数字的结果。

这将按如下方式完成

public class foo
{
       TwoNumbers t = new TwoNumbers();

    public void someMethod()
    {
    Scanner scan = new Scanner(System.in);
    Random rand = new Random();        
    int num1 = rand.nextInt(100);
    t.setone(num1);
    int num2 = rand.nextInt(100);
    t.settwo(num2);
    }
    public void bar()
    {
     t.getone();
     t.gettwo();
    }
}

private static class TwoNumbers {
    private Integer num1;
    private Integer num2;

    public void setone(int a) {
        this.num1 = a;
    }

   public settwo(int b)
{
       this.num2 = b;
}

   public int getone()
   {
     return this.num1;
   }

   public int gettwo()
   {
     return this.num2;
   }
}

如果你想继续从课堂上的不同方法中获取新数据,那么你将如何做到这一点

public void bar()
{
 while(true) //don't know what condtion you need
 {
  someMethod();
  t.getone();
  t.gettwo();
 }
}