user5918068
user5918068

Reputation:

Probleem with loops

Yo guys, I was trying to work a bit in java because I just started to learn it but how can I loop that if an array is printed you can type back and then you ar back here

System.out.println("Kies een stof waar je meer info over wil: goud, zilver of tin");
System.out.println("type hem hieronder in en druk dan op enter!");    

I hope you can help me :D.

package javaproject1;

import java.util.Scanner;

public class JavaProject1 {
    public static void main(String[] args) {
        Scanner Stof = new Scanner(System.in);
        String[] MainArr = new String[3];
        MainArr[0] = "Goud";
        MainArr[1]= "Zilver";
        MainArr[2]="Tin";
        int x = 1;
        System.out.println("Kies een stof waar je meer info over wil: goud, zilver of tin");
        System.out.println("type hem hieronder in en druk dan op enter!");
        if(Stof.next().equals(MainArr[0]));{
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 79");
            System.out.println("EN-waarde is 2,54");
        }
        if(Stof.next().equals(MainArr[1]));{
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 47");
            System.out.println("EN-waarde is 1,93");
        }
        if(Stof.next().equals(MainArr[2]));{
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 50");
            System.out.println("EN-waarde is 1,96");
        }
     }
 }

Upvotes: 1

Views: 51

Answers (2)

Yassin Hajaj
Yassin Hajaj

Reputation: 21975

You've put semicolons where it shouldn't be.

if(Stof.next().equals(MainArr[0])); <---- This will produce unexpected results.

Personally, I'd loop within an infinite loop and leave the choice to the user to break out of the loop using break.

I also saved the user's choice from stof in a variable gekozenStof.

Advice : Code in English is the best you could do.


Full Code

public static void main(String[] args) {

    Scanner Stof = new Scanner(System.in);

    String[] MainArr = new String[3];

    MainArr[0] = "Goud";
    MainArr[1]= "Zilver";
    MainArr[2]="Tin";

    int x = 1;
    while(true) {
        System.out.println("Kies een stof waar je meer info over wil: goud, zilver of tin");
        System.out.println("type hem hieronder in en druk dan op enter!");

        String gekozenStof = Stof.next();

        if(gekozenStof.equalsIgnoreCase(MainArr[0])){
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 79");
            System.out.println("EN-waarde is 2,54");
        }else if(gekozenStof.equalsIgnoreCase(MainArr[1])){
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 47");
            System.out.println("EN-waarde is 1,93");
        }else if(gekozenStof.equalsIgnoreCase(MainArr[2])){
            System.out.println("Het is een metaal");
            System.out.println("Atoomnummer is 50");
            System.out.println("EN-waarde is 1,96");
        }
        System.out.println("Doorgaan? J/N");
        if (Stof.next().equalsIgnoreCase("N")) {
            break;
        }
    }
}

Upvotes: 2

David Maes
David Maes

Reputation: 573

Great free IDE is Eclipse or IntelliJ IDEA Community Edition.

Ok Simple while loop should do.

while(some condition){
    //your code
}

Upvotes: 0

Related Questions