Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 8 of 8

Thread: Null error when executing in cmd prompt

  1. #1
    Junior Member
    Join Date
    Jan 2013
    Posts
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Null error when executing in cmd prompt

    Hello,

    I'm working on a school project but there's one tiny thing that's bugging me.
    I think the error is around the public char GokMedeklinker and public String vervangen.
    Here's my code and the null error I'm getting!


    /**
    * 
    * @version 19 november 2012
    * @Project 2: RadVanFortuin
    */
    public class RadVanFortuin {
    			int bedragRad,rad,keuze,draai,aantalWoorden,plaatsCat,bedragSpeler,beurten,plaats,totaal; // declaratie variabelen
    			String sterWoord3,teRadenWoord2;
    			boolean bankroet = false;
    			boolean geraden = false;
    			boolean gokken = true;
    			boolean categorieKeuze = false;
    			boolean inTabel = false;
    			boolean quit = false;
    			boolean gameOver = false;
    			String sterWoord2,teRadenWoord,gok;
    			final int CATEGORIES = WoordIO2.aantalCategories("woorden.txt");
    			final int AANTALWOORDEN = WoordIO2.aantalWoorden("woorden.txt");
    			final String[][] TERADENWOORDEN = vulWoorden("woorden.txt");
    			int[] spelersLijst = new int[aantal()];
    			String categorie;
    			String[] Extra = new String [AANTALWOORDEN];
     
    	public int aantal() {
    		String hoeveelheid;
    		int spelers;
    		do {
    			System.out.println("=== Het Rad van Fortuin ===\n\nMet hoeveel willen jullie spelen?");
    			spelers = Input.readInt();
     
    		} while (spelers > 100);
     
    		return spelers;
    	}
     
    	public String[][]vulWoorden(String bestand) {
    		String[][] teRadenWoorden = new String[CATEGORIES][AANTALWOORDEN+1];
    		String[] lijnen = WoordIO2.geefLijnen("woorden.txt");
     
    		for (int i = 0; i < lijnen.length; i++) {
    			inTabel = false;
    			for (int i3 = 0; i3 < CATEGORIES; i3++) {
    				if ((lijnen[i].substring(0,lijnen[i].indexOf('-'))).equals(teRadenWoorden[i3][0])) {
    								inTabel = true;
    				}
    			}
    			if (inTabel == false) {
    				teRadenWoorden[plaatsCat][0] = lijnen[i].substring(0,lijnen[i].indexOf('-'));
    				Extra = geefWoordenUitCategorie(lijnen, teRadenWoorden[plaatsCat][0]);
    				for (int teller = 1; teller < AANTALWOORDEN + 1; teller++) {
    					teRadenWoorden[plaatsCat][teller] = Extra[teller-1];
    				}
    				plaatsCat++;
    			}
     
    		}
    		return teRadenWoorden;
    	}
     
     
    	public String[] geefWoordenUitCategorie(String[] lijnenVanFile, String categorie) {
    		int telWoorden = 0;
    		String[] aantalWoordenInFile = new String[AANTALWOORDEN];
    		for (int i = 0; i < lijnenVanFile.length;i++) {
    			if ((lijnenVanFile[i].substring(0,lijnenVanFile[i].indexOf('-'))).equals(categorie)) {
    				aantalWoordenInFile[telWoorden] = lijnenVanFile[i].substring(lijnenVanFile[i].indexOf('-')+1);
    				telWoorden++;
    			}
    		}
    		return aantalWoordenInFile;
    	}
     
    	public void start() {
    		char medeklinker;
    		int aantalGeraden;
    		String echtTeRadenWoord;
    		String echtSterWoord;
    		do {
     
    			if(starten() ==  true) {
    				gameOver = false;
    				echtTeRadenWoord = genereerWoord(keuzeOnderwerp()).toLowerCase();
    				echtSterWoord = sterren(echtTeRadenWoord);
     
    			for (int verloop = 1; verloop <= 10 ; verloop ++) {
    				if (gameOver == true) {
    					break;
    				}
     
    				for (int participant = 1 ; participant < spelersLijst.length + 1; participant++) {
    					if(draaien(participant) == true) {
    						totaal = radStop(draaiRad());
    						if (totaal > 0) {
    							medeklinker = gokMedeklinker();
    							aantalGeraden = gokControle(echtSterWoord,echtTeRadenWoord,medeklinker);
    							echtSterWoord = vervangen(echtSterWoord,echtTeRadenWoord,medeklinker);
    							totaal = cash (aantalGeraden,totaal);
     
    							if (aantalGeraden > 0) {
    								if (gokWoord(verloop,totaal,echtTeRadenWoord) == true) {
    									einde (participant,totaal);
    									gameOver = true;
    									break;
    								}
    							}
    						}
    					} else {
    						gameOver = true;
    						break;
    					}
    				}
    			}
    		} else {
    			quit = true;
    		}
    	} while (gameOver == false);
    }
     
    	public boolean starten (){
    		boolean begin = true;
    		do {
    			System.out.println("=== Het Rad van Fortuin ===\n\nWat wil je doen?\n\n1) Een nieuw spel starten\n2) Het programma stoppen\n\nKeuze:");
    			keuze = Input.readInt();
     
    			if (keuze == 1) {
    				begin = true;
    			}
    			if (keuze == 2) {
    				begin = false;
    			}
    		} while (keuze !=1 && keuze != 2);
    		return begin;
    	}
     
    	public String keuzeOnderwerp() {
    		System.out.print("De mogelijke categorieen zijn: ");
    		for (int i = 0 ; i < CATEGORIES; i++) {
    			System.out.print(TERADENWOORDEN[i][0] + ",");
    		}
     
    		do {
    			System.out.println("\nGeef een categorie:\n");
    			categorie = Input.readString();
    			for ( int i = 0 ; i < CATEGORIES; i++) {
    				if(categorie.equals(TERADENWOORDEN[i][0])){
    					categorieKeuze = true;
    				}
    			}
    		} while (categorieKeuze == false);
    		return categorie;
    	}
     
     
    	public String genereerWoord (String categorie) {
    		int random = (int)(Math.random()* AANTALWOORDEN) + 1;
     
    		for (int i = 0; i < CATEGORIES ; i++) {
    			if (TERADENWOORDEN[i][0].equals(categorie)){
    				plaats = i;
    			}
    		}
    		System.out.println("We zoeken een woord van het type: "+ categorie +"\nHet te raden woord heeft de volgende vorm:");
    		return TERADENWOORDEN[plaats][random];
    	}
     
    	public String sterren (String teRadenWoord) {
    		String sterWoord = new String ();
    			for (int i = 0; i < teRadenWoord.length(); i++) {	//woord omzetten naar sterren
     
    				if (teRadenWoord.charAt(i) == ' ') {
    					sterWoord = sterWoord + ' ';
    				} else {
    					sterWoord = sterWoord + '*';
    				}
    			}
    			System.out.println(sterWoord);
    			return sterWoord;
    		}
     
    	public boolean draaien (int participant) {
    		boolean begin = false;
     
    		do {
    			System.out.println("SPELER " + participant + "\nWat wil je doen?\n\n1) Aan het rad draaien\n2) Dit spel stoppen\n\nKeuze:"); //keuze
    			draai = Input.readInt();
    			if (draai == 1) {
    			begin = true;
    			}
    			if (draai == 2) {
    			begin = false;
    			}
    		} while (draai != 1 && draai != 2);
    		return begin;
    }
     
     
    	public int draaiRad() {		//het bedrag waar het rad op stopt wordt in een variabele gestoken
     
    				rad = (int) (5 * Math.random());
    				System.out.println("Het rad wordt gedraaid: \n");
    				switch (rad) {
    					case 0:
    						bedragRad = 2000;
    						break;
    					case 1:
    						bedragRad = 4000;
    						break;
    					case 2:
    						bedragRad = 10000;
    						break;
    					case 3:
    						bedragRad = 100000;
    						break;
    					case 4:
    						bedragRad = 0;
    						break;
    	}
    	return bedragRad;
    }
     
    	public int radStop (int bedragRad) {
     
    		if(bedragRad == 0) {
    			System.out.println("\nHet rad stopt op bankroet");
    		} else {
    			System.out.println("\nHet rad stopt op: " + bedragRad+ " euro");
    		}
    		return bedragRad;
    	}
     
    	public char gokMedeklinker() {		//de medeklinker wordt geraden en de medeklinker wordt in het sterrenwoord gestoken
     
    		char medeklinker;
    		String letter = "";
    		do {
    			System.out.println("U mag een medeklinker gokken:");
    			letter = Input.readString();
    			medeklinker = letter.charAt(0);
    		} while(letter.length() !=1 || letter.equals("a") || letter.equals("e") || letter.equals("o") || letter.equals("u") || letter.equals("i"));
    		return medeklinker;
    	}
     
    	public int gokControle(String sterWoord, String teRadenWoord, char gokMedeklinker) {
    		int aantal = 0;
    			if (sterWoord.indexOf(gokMedeklinker) >=0) {
    				System.out.println("Deze medeklinker werd al geraden");
    				aantal = 0;
    			} else {
    				for (int i = 0; i < teRadenWoord.length(); i++) {
    					if(teRadenWoord.charAt(i) == gokMedeklinker) {
    						aantal++;
    					}
    				}
    			}
    		System.out.println("Deze letter komt " + aantal + " keer voor in het woord.");
    		return aantal;
    	}
     
    	public String vervangen (String sterWoord, String teRadenWoord, char letter) {
     
    		for (int i = 0; i < sterWoord.length() ; i++) {
    			if (teRadenWoord.charAt(i) == letter) {
    				if (sterWoord.charAt(i) == letter) {
    					sterWoord2 = sterWoord2 + sterWoord.charAt(i);
    				} else {
    					sterWoord2 = sterWoord2 + letter;
    				}
    			} else {
    				sterWoord2 = sterWoord2 + sterWoord.charAt(i);
    			}
    		}
    		System.out.println(sterWoord2);
    		return sterWoord2;
    	}
     
    	public int cash (int aantal, int geldBedrag) {
     
    		bedragSpeler = bedragSpeler + (aantal * bedragRad);
    		System.out.println("U heeft " + bedragSpeler + " euro in de kassa \n");
    		return bedragSpeler;
    	}
     
    	public boolean gokWoord(int beurten, int geldbedrag, String teRadenWoord) {		//de gok wordt vergeleken met het te raden woord
     
    		System.out.println("U mag nu een gok wagen:");
    		gok = Input.readLine().toLowerCase();
     
    		if (gok.equals(teRadenWoord)) {
    			System.out.println("\n --- PROFICIAT --- \n U heeft het woord in " + beurten + " beurten geraden! \n U heeft " + bedragSpeler + " euro gewonnen\n");
    			geraden = true;
     
    		} else {
     
    			System.out.println("Spijtig, " + gok + " is niet juist");
    			geraden = false;
    		}
    		return geraden;
    }
     
    	public void einde (int participant, int bedragSpeler) {
    		System.out.println("\nOverzicht van de scores:\n");
    		spelersLijst[participant-1] = spelersLijst[participant-1]+ bedragSpeler;
    		for (int i = 1; i < spelersLijst.length + 1; i++) {
    			System.out.println("Speler" + i + " = " + spelersLijst[i-1]);
    		}
    	}
     
    	public static void main(String[] args) { //oproepen van de methode
    	 RadVanFortuin controle = new RadVanFortuin();
    	 controle.start();
    	}
    }
    null.JPG

    thanks in advance,

    greetz,
    Nasty x


  2. #2
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,139
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Null error when executing in cmd prompt

    Please copy the full text of the command prompt window and paste it here.
    To copy the contents of the command prompt window:
    Click on Icon in upper left corner
    Select Edit
    Select 'Select All' - The selection will show
    Click in upper left again
    Select Edit and click 'Copy'

    Paste here.

    Look at the line where the error is happening, find the variable with the null value and then backtrack in the code to find why it does not have a valid value.
    If you don't understand my answer, don't ignore it, ask a question.

  3. #3
    Junior Member
    Join Date
    Jan 2013
    Posts
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Null error when executing in cmd prompt

    That's the problem, it doesn't say anything at all, it just keeps running the program untill I stop running it!

    proof: null2.JPG

    === Het Rad van Fortuin ===

    Met hoeveel willen jullie spelen?
    1
    === Het Rad van Fortuin ===

    Wat wil je doen?

    1) Een nieuw spel starten
    2) Het programma stoppen

    Keuze:
    1
    De mogelijke categorieen zijn: boek,film,ac
    Geef een categorie:

    boek
    We zoeken een woord van het type: boek
    Het te raden woord heeft de volgende vorm:
    ****** ****
    SPELER 1
    Wat wil je doen?

    1) Aan het rad draaien
    2) Dit spel stoppen

    Keuze:
    1
    Het rad wordt gedraaid:


    Het rad stopt op: 4000 euro
    U mag een medeklinker gokken:
    j
    Deze letter komt 1 keer voor in het woord.
    nullj***** ****
    U heeft 4000 euro in de kassa

    U mag nu een gok wagen:
    jungle book

    --- PROFICIAT ---
    U heeft het woord in 1 beurten geraden!
    U heeft 4000 euro gewonnen


    Overzicht van de scores:

    Speler1 = 4000
    Druk op een toets om door te gaan. . .

  4. #4
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,139
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Null error when executing in cmd prompt

    nullj***** ****
    Where is that line printed? What variable has the null value?
    If you don't understand my answer, don't ignore it, ask a question.

  5. #5
    Junior Member
    Join Date
    Jan 2013
    Posts
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Null error when executing in cmd prompt

    public String vervangen (String sterWoord, String teRadenWoord, char letter) {
    		for (int i = 0; i < sterWoord.length() ; i++) {
    			if (teRadenWoord.charAt(i) == letter) {
    				if (sterWoord.charAt(i) == letter) {
    					sterWoord2 += sterWoord.charAt(i);
    				} else {
    					sterWoord2 += letter;
    				}
    			} else {
    				sterWoord2 += sterWoord.charAt(i);
    			}
    		}
    		System.out.println(sterWoord2);
    		return sterWoord2;
    	}

    This should give the word in ******** with the guessed consonant.

  6. #6
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,139
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Null error when executing in cmd prompt

    What variable has a null value? Why doesn't it have a valid value?
    If you don't understand my answer, don't ignore it, ask a question.

  7. #7
    Junior Member
    Join Date
    Jan 2013
    Posts
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Null error when executing in cmd prompt

    Quote Originally Posted by Norm View Post
    What variable has a null value? Why doesn't it have a valid value?
    Actually you got me thinking there!

    I've placed the sterWoord2 variable that I've declared in the public class in the public String vervangen.

    And the null disappeared after executing it! Such a small thing

    Nevertheless, it is SOLVED, thanks for the help!

    greets,
    Nasty

  8. #8
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,139
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Null error when executing in cmd prompt

    Please mark this thread as solved.
    If you don't understand my answer, don't ignore it, ask a question.

  9. The Following User Says Thank You to Norm For This Useful Post:

    Nasty (January 7th, 2013)

Similar Threads

  1. Replies: 4
    Last Post: September 3rd, 2012, 02:47 AM
  2. Null Error
    By Nessera in forum What's Wrong With My Code?
    Replies: 1
    Last Post: December 17th, 2011, 01:46 PM
  3. Null or not an object error
    By James W in forum Other Programming Languages
    Replies: 4
    Last Post: November 1st, 2011, 01:06 PM
  4. NULL POINTER EXCEPTION error
    By beefwithrice in forum What's Wrong With My Code?
    Replies: 2
    Last Post: October 28th, 2011, 06:26 AM
  5. [SOLVED] Windows Cmd Prompt streams
    By helloworld922 in forum File I/O & Other I/O Streams
    Replies: 3
    Last Post: November 24th, 2010, 10:00 PM