Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
73
Task/Number-reversal-game/Java/number-reversal-game.java
Normal file
73
Task/Number-reversal-game/Java/number-reversal-game.java
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
import java.util.Collections;
|
||||
|
||||
|
||||
public class ReversalGame {
|
||||
private List<Integer> gameList;
|
||||
|
||||
public ReversalGame() {
|
||||
initialize();
|
||||
}
|
||||
|
||||
public void play() throws Exception {
|
||||
int i = 0;
|
||||
int moveCount = 0;
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
while (true) {
|
||||
System.out.println(gameList);
|
||||
System.out.println("Please enter a index to reverse from 2 to 9. Enter 99 to quit");
|
||||
i = scanner.nextInt();
|
||||
if (i == 99) {
|
||||
break;
|
||||
}
|
||||
if (i < 2 || i > 9) {
|
||||
System.out.println("Invalid input");
|
||||
} else {
|
||||
moveCount++;
|
||||
reverse(i);
|
||||
if (isSorted()) {
|
||||
System.out.println("Congratulations you solved this in " + moveCount + " moves!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
scanner.close();
|
||||
}
|
||||
|
||||
private void reverse(int position) {
|
||||
Collections.reverse(gameList.subList(0, position));
|
||||
}
|
||||
|
||||
private boolean isSorted() {
|
||||
for (int i=0; i < gameList.size() - 1; ++i) {
|
||||
if (gameList.get(i).compareTo(gameList.get(i + 1)) > 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void initialize() {
|
||||
this.gameList = new ArrayList<Integer>(9);
|
||||
for (int i=1; i < 10; ++i) {
|
||||
gameList.add(i);
|
||||
}
|
||||
while (isSorted()) {
|
||||
Collections.shuffle(gameList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
ReversalGame game = new ReversalGame();
|
||||
game.play();
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue