Here is the code I have can anybody fix it? import java.io.BufferedReader; impor
ID: 3548060 • Letter: H
Question
Here is the code I have can anybody fix it?
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Display.displayGame();
}
}
public class RandomInteger {
private static int randomNumber;
private static Random generator = new Random();
public static int getRandomNumber(){
randomNumber = generator.nextInt(86);
return randomNumber;
}
}
public class PopulatedArray {
public static String[] getWords()
{
String[] words =new String[87];
try {
String line;
int count=0;
BufferedReader bufferedReader = new BufferedReader(new FileReader("Words.txt"));
while ((line = bufferedReader.readLine()) != null) {
words[count]=line.trim();
count++;
}
} catch (IOException exception) {
exception.printStackTrace();
}
return words;
}
}
public class Input {
private static Scanner kayboard =new Scanner(System.in);
public static char getChar(){
char inputcharacter=' ';
inputcharacter=kayboard.next().charAt(0);
return inputcharacter;
}
}
public class Display {
public static void displayGame(){
int lives=7;
int totalCorrectNumbers=0;
String secretWord=PopulatedArray.getWords()[RandomInteger.getRandomNumber()];
ArrayList<Character> usedLetters = new ArrayList<Character>();
ArrayList<Character> secretWordLetters = new ArrayList<Character>();
ArrayList<Character> emptyWordLetters = new ArrayList<Character>();
ArrayList<Character> incorrectletters = new ArrayList<Character>();
for(int i=0;i<secretWord.length();i++){
emptyWordLetters.add('-');
secretWordLetters.add(secretWord.charAt(i));
}
do{
System.out.print("Your word: ");
for(int i=0;i<secretWord.length();i++){
System.out.print(emptyWordLetters.get(i)+" ");
}
System.out.print("Total lives left: "+lives);
System.out.print(" Incorrect letters: ");
for(int i=0;i<incorrectletters.size();i++){
System.out.print(incorrectletters.get(i)+" ");
}
System.out.print(" Enter letter: ");
char inputletter = Input.getChar();
if(usedLetters.indexOf(Character.toLowerCase(inputletter)) >= 0){
System.out.println("You already guessed "+inputletter+". Try again.");
}else{
usedLetters.add(inputletter);
if(secretWordLetters.toString().toLowerCase().indexOf(Character.toLowerCase(inputletter)) >= 0){
for(int i=0;i<secretWord.length();i++){
if(secretWord.toLowerCase().charAt(i)==Character.toLowerCase(inputletter)){
emptyWordLetters.set(i, Character.toLowerCase(inputletter));
}
}
}else{
lives--;
incorrectletters.add(inputletter);
}
if(lives==0){
System.out.println("Sorry, you lose. The word was: "+secretWord);
break;
}
for(int i=0;i<secretWord.length();i++){
if(Character.toLowerCase(emptyWordLetters.get(i))==secretWord.toLowerCase().charAt(i)){
totalCorrectNumbers++;
}
}
if(secretWord.length()==totalCorrectNumbers){
System.out.println("Your word: "+secretWord+". Congratulations, you won!");
break;
}
}
}while(lives!=0);
}
}
Explanation / Answer
Only one public class per module is allowed.
Here you have made all classes to be public in a single module.
So just remove public from them.