在java中添加计数器
我正在开发一个简单的HanioJava塔程序。 我有它给我的所有步骤的磁盘数量的用户输入 但是现在我被卡住了,我想在最后放一个计数器,给用户一个清晰的步骤数,而不是让他们全部数完 这是我的密码,如果你能帮我 加上一个计数,这将是伟大的 任何帮助都会很好在java中添加计数器,java,class,count,towers-of-hanoi,Java,Class,Count,Towers Of Hanoi,我正在开发一个简单的HanioJava塔程序。 我有它给我的所有步骤的磁盘数量的用户输入 但是现在我被卡住了,我想在最后放一个计数器,给用户一个清晰的步骤数,而不是让他们全部数完 这是我的密码,如果你能帮我 加上一个计数,这将是伟大的 任何帮助都会很好 import java.util.Scanner; public class Hanoi{ public static void Han(int m, char a, char b, char c){ if(m>
import java.util.Scanner;
public class Hanoi{
public static void Han(int m, char a, char b, char c){
if(m>0){
Han(m-1,a,c,b);
System.out.println("Move disc from "+a+" to "+b);
Han(m-1,b,a,c);
}
}
public static void main(String[]args){
Scanner h = new Scanner(System.in);
System.out.println("How many discs : ");
int n = h.nextInt();
Han(n, 'A', 'B', 'C');
}
}
简单的方法是使用如下静态变量: 导入java.util.Scanner
public class Hanoi{
static int stepsCounter = 0; // new Code here.
public static void Han(int m, char a, char b, char c){
if(m>0){
stepsCounter++; // new Code here.
Han(m-1,a,c,b);
System.out.println("Move disc from "+a+" to "+b);
Han(m-1,b,a,c);
}
}
public static void main(String[]args){
Scanner h = new Scanner(System.in);
int n;
System.out.println("How many discs : ");
n = h.nextInt();
Han(n, 'A', 'B', 'C');
System.out.println("Steps : " + stepsCounter); // new Code here.
}
}
您还可以返回计数,而不是引入静态变量(除其他问题外,静态变量不是线程安全的):
public static int Han(int m, char a, char b, char c){
int count = 0;
if(m>0){
count += Han(m-1,a,c,b);
System.out.println("Move disc from "+a+" to "+b);
count++;
count += Han(m-1,b,a,c);
}
return count;
}
你可以做一个
静态int计数器=0代码>和每当执行System.out.println(“将光盘从“+a+”移动到“+b”)
在Han(…)
中可以添加计数器++下面的代码>指南针你能告诉我你将把它放在我上面的代码上的什么地方吗?我花了一段时间才开始工作,我宁愿不要再把它弄坏