Java简单实现约瑟夫环,以JosephusProblem为类名
时间: 2023-07-16 09:12:14 浏览: 94
好的,以下是Java简单实现约瑟夫环的代码:
```java
public class JosephusProblem {
public int execute(int n, int m) {
if (n == 1) {
return 0;
} else {
return (execute(n - 1, m) + m) % n;
}
}
}
```
其中,`n`表示总人数,`m`表示要出列的数的位置(从1开始计数)。这个算法使用递归实现,并且不需要使用链表等数据结构,具有较高的效率。
相关问题
Java实现约瑟夫环,以JosephusProblem为类名
好的,以下是Java实现约瑟夫环的代码,以JosephusProblem为类名:
```java
import java.util.ArrayList;
public class JosephusProblem {
public static int josephus(int n, int k) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= n; i++) {
list.add(i);
}
int index = 0;
while (list.size() > 1) {
index = (index + k - 1) % list.size();
list.remove(index);
}
return list.get(0);
}
public static void main(String[] args) {
int n = 7;
int k = 3;
int survivor = josephus(n, k);
System.out.println("The survivor is: " + survivor);
}
}
```
代码说明:
- `josephus`方法接收两个参数:`n`表示总人数,`k`表示每次报数到第几个人出列。
- 在方法中,我们使用`ArrayList`来存储参与游戏的每个人的编号,初始化时将`1~n`的编号放入`ArrayList`中。
- 使用`while`循环,每次循环时计算出下一个出列的人的索引,然后将其从`ArrayList`中移除。
- 最后,当`ArrayList`中只剩下一个人时,返回该人的编号,即为幸存者的编号。
- 在`main`方法中,我们调用`josephus`方法,并输出幸存者的编号。
java提取类名java
Java提取类名可以使用反射机制中的getClass()方法,该方法返回一个Class对象,然后可以使用getName()方法获取类名。例如,如果有一个对象obj,可以使用以下代码提取类名:
String className = obj.getClass().getName();
另外,如果需要去掉类名前面的"class ",可以使用substring()方法,例如:
String className = obj.getClass().toString().substring(6);
这样就可以得到不带前缀的类名了。
阅读全文
相关推荐











