我有这段代码:
Scanner scan = new Scanner(System.in);
Random rand = new Random();
int num1 = rand.nextInt(100);
int num2 = rand.nextInt(100);
我在这里要问的是,如果它们是以不同的方法创建的,我怎样才能将这些方法转换为另一种方法。我使用该代码创建方法'x',然后创建另一个需要的方法'y'在'x'方法中使用这些变量 我在尝试一些无法做到的事情吗?或者我应该使用对象/类或其他什么
请帮忙。
答案 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);
}
}
这将使它们成为全局变量,可以从类中的任何位置访问它而不必传递对象。但是,这不是最佳实践。最佳做法是创建一个设置num1
和num2
的对象,并返回更改数字的结果。
这将按如下方式完成
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();
}
}