Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Help with methods for scrabble

807600Nov 28 2007 — edited Nov 28 2007
Hi i am creating a program based on a scrabble game. I have the main method in the class ScrabbleScoring and the methods getWordScore and getLetterScore in the class ScrabbleTools. The ScrabbleScoring class calls the getWordScore in the ScrabbleTools which then calls the getLetterScore.

The point of the getLetterScore is that it checks for individual letters and then assigns them a value which is the point value for that letter. It returns this value to the getWordScore method where it goes through a loop adding up all the values of the letters and returning the total point value for the word to the main method in the ScrabbleScoring class. I am new to programming and I am really having a lot of trouble with this. If anyone could help it would be great. Thanks!!

Here is ScrabbleScoring class with the main method:

import java.util.Scanner;

public class ScrabbleScoring
{
public static void main(String[] args)
{
// Display title
System.out.println("\t +--------------------------------+");
System.out.println("\t | Scrabble Word Score Calculator |");
System.out.println("\t +--------------------------------+\n");

// Display instructions
System.out.println("You will be prompted to enter as many words as you wish. The");
System.out.println("scrabble word score will be displayed for each word as well as");
System.out.println("a running total of the points for all the words. BLANKS and ");
System.out.println("non-alphabet characters are not allowed. Type 'q' to QUIT.\n");

// Obtain user input (words)
Scanner input = new Scanner(System.in);;
String word;
int wordPoints;
int totalPoints = 0;
do
{
// Read and score words
System.out.print("Next word: ");
word = input.nextLine().toUpperCase().trim();
if( !word.equals("Q") )
{
wordPoints = ScrabbleTools.getWordScore(word.toCharArray());
totalPoints += wordPoints;
System.out.print("\t\t\tPOINTS: '" + word + "' = " + wordPoints);
if(wordPoints > 1)
{
System.out.println(", Total = " + totalPoints);
}
else
{
System.out.println(" *** Illegal Word *** ");
}
}
} while(!word.equals("Q"));

System.out.print("\n\t\t --- Goodbye! ---");
}

}

Here is the ScrabbleTools class with the getWordScore and getLetterScore methods:

public class ScrabbleTools
{
public static int getWordScore(char[] word)
{
int error = 0;
int wordTotal = 0;
for(int i = 0; i < word.length; i++)
{

wordTotal[i] = getLetterScore(word);
wordPoints += word;
}

}//end method getWordScore

public static int getLetterScore(char letter)
{
int letterScore = 0;
switch(letter)
{
case 1: letter = 'A';
letterScore = 1;
return letterScore;
break;

case 2: letter = 'B';
letterScore = 3;
return letterScore;
break;

case 3: letter = 'C';
letterScore = 3;
return letterScore;
break;

case 4: letter = 'D';
letterScore = 2;
return letterScore;
break;

case 5: letter = 'E';
letterScore = 1;
return letterScore;
break;

case 6: letter = 'F';
letterScore = 4;
return letterScore;
break;

case 7: letter = 'G';
letterScore = 2;
return letterScore;
break;

case 8: letter = 'H';
letterScore = 4;
return letterScore;
break;

case 9: letter = 'I';
letterScore = 1;
return letterScore;
break;

case 10: letter = 'J';
letterScore = 8;
return letterScore;
break;

case 11: letter = 'K';
letterScore = 5;
return letterScore;
break;

case 12: letter = 'L';
letterScore = 1;
return letterScore;
break;

case 13: letter = 'M';
letterScore = 3;
return letterScore;
break;

case 14: letter = 'N';
letterScore = 1;
return letterScore;
break;

case 15: letter = 'O';
letterScore = 1;
return letterScore;
break;

case 16: letter = 'P';
letterScore = 3;
return letterScore;
break;

case 17: letter = 'Q';
letterScore = 10;
return letterScore;
break;

case 18: letter = 'R';
letterScore = 1;
return letterScore;
break;

case 19: letter = 'S';
letterScore = 1;
return letterScore;
break;

case 20: letter = 'T';
letterScore = 1;
return letterScore;
break;

case 21: letter = 'U';
letterScore = 1;
return letterScore;
break;

case 22: letter = 'V';
letterScore = 4;
return letterScore;
break;

case 23: letter = 'W';
letterScore = 4;
return letterScore;
break;

case 24: letter = 'X';
letterScore = 8;
return letterScore;
break;

case 25: letter = 'Y';
letterScore = 4;
return letterScore;
break;

case 26: letter = 'Z';
letterScore = 10;
return letterScore;
break;

default:
letterScore = 0;
return letterScore;
break;


}//end switch statement
}//end method getLetterScore

}//end class
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 26 2007
Added on Nov 28 2007
1 comment
192 views