03-06-2004, 03:20 PM | #1 (permalink) |
Addict
Location: Virginia
|
[Java] Hangman Lab
I'm currently working on a Java Hangman Lab for the introductory CS class I enrolled in.
I have 2 class files and right now I'm trying to get it to work, but I'm really confused. If anyone could help, I would be very grateful. http://members.cox.net/al9045/Hangman.java http://members.cox.net/al9045/TestHangman.java Thanks. |
03-06-2004, 03:25 PM | #2 (permalink) |
Insane
Location: Chicago
|
well first, I am simply just a beginner at Java and I thought I would do my best to look at it and give my 2 cents, second, I think you have to be a little more specific on what you need help with. You cant really just come in and say Im confused, you kind of need to say, Hey, I need help with this and this yada yada yada.
__________________
Jesus was a ruffies victim! Dan 3:20 |
03-06-2004, 03:29 PM | #3 (permalink) |
Addict
Location: Virginia
|
My apologies.
Currently I have the program set up for you to enter 10 words and then it will randomly choose one of the words for you to guess. After that I really have no idea what to do, so this is what I tried System.out.print("\n\nPlease guess a letter: "); String letter = TextIO.getln(); if(letter == theWord.substring(theWord.length())) System.out.println(theWord.substring(g)); Right now I'm trying to get it, so when you guess a correct letter it will print out the letter in the word like this. Suppose the word is Dog and I guessed "O". -O- And so on. |
03-06-2004, 05:58 PM | #4 (permalink) |
Crazy
|
For one thing, you should use the equals( Object anObject ) or the equalsIgnoreCase( String aString ) methods in the String class if you're comparing Strings because == only works for primitives. I'm not sure what you're trying to do with the substring method, it seems to me that using the toCharArray() method in the String class and a loop would be helpful, though.
__________________
"Even if you prove me wrong, I'm not going to believe you." - A. McGill Last edited by firebirdta; 03-06-2004 at 06:55 PM.. |
03-06-2004, 09:07 PM | #5 (permalink) |
Free Mars!
Location: I dunno, there's white people around me saying "eh" all the time
|
System.out.print("\n\nPlease guess a letter: ");
String letter = TextIO.getln(); I would suggest you create another variable that is character type: -char l = letter.charAt(0); if(letter == theWord.substring(theWord.length())) The part "theWord.substring(theWord.length())" is going to be null since what you're doing is basically grabbing the substring of a word between the end and...well, the end. (Read the API on the String class) I'd use a for loop to search through a word instead.
__________________
Looking out the window, that's an act of war. Staring at my shoes, that's an act of war. Committing an act of war? Oh you better believe that's an act of war |
03-08-2004, 06:03 PM | #6 (permalink) |
Crazy
|
Maybe this will help. It's not exactly what you are looking to do, but its a hangman program I had to make for a CS course.
Code:
/*Matt Lewis Hangman*/ import javax.swing.JOptionPane; import java.util.Arrays; public class Hangman { public static void main(String [] args) { String word = "phloem", let="s", dashii="------", whaddyawant, guess=""; int x=0, y=0, c=0; char[] dashes = dashii.toCharArray(); char[] cheque = word.toCharArray(); System.out.println("HANGMAN!\n"); do{ whaddyawant=JOptionPane.showInputDialog("word or letter?"); if (whaddyawant.equalsIgnoreCase("word")) {guess=JOptionPane.showInputDialog("Gues your word."); if (guess.equalsIgnoreCase(word)) System.out.println("phloem\nYou got it!");} else { c=0; x=0; y++; String inpt=JOptionPane.showInputDialog("Enter a letter."); do{ if (inpt.charAt(0)==word.charAt(x)) { dashes[x]=inpt.charAt(0); c++; } x++; }while((inpt.charAt(0)!=word.charAt(x-1))&&(x!=6)); for (int z=0; z<6; z++) {System.out.print(dashes[z]);} System.out.println(); } }while((y<10)&&(!Arrays.equals(dashes, cheque))&&(!guess.equalsIgnoreCase(word))); System.exit(0); } } |
Tags |
hangman, java, lab |
|
|