do while loop werkt niet

Status
Niet open voor verdere reacties.

MsJohnson

Nieuwe gebruiker
Lid geworden
14 dec 2018
Berichten
1
Ik heb een probleem wanneer ik de do while loop uitvoer. Het doel van het programma is om het programma opnieuw te laten lopen wanneer er een exception is gebeurt bij een foute input. Maar wanneer er een exception gebeurt dan werkt de loop niet. Ik heb een paar vermoedens maar ben er niet zeker van. Alvast bedankt voor antwoorden.

Dit is mijn code:

package Exercise;

import java.util.Scanner;


public class Training2 {

private String name;
private int age;
private int x = 1;

Scanner input = new Scanner(System.in);

public void setValue() throws Exception{
do {
try {
System.out.println("Type in your name: ");
name = input.nextLine();
System.out.println("Type in your age:");
age = input.nextInt();
x = 2;
}

catch(Exception e) {
throw new Exception("Invalid input. Please retry.");
}
} while (x == 1);
}
}
package Exercise;


public class Training {

public static void main(String[] args) {


Training2 test = new Training2();

try {
test.setValue();
}

catch(Exception e) {
System.out.println(e.getMessage());
}

}
}
 
Code:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package helpmij.foreach;
import java.util.Scanner;
public class Training2{
    private String name;
    private int age;
    private int x = 1;
    Scanner input = new Scanner(System.in);
    public void setValue() throws Exception {
        try{
            do{
                System.out.println("Type in your name: ");
                name = input.nextLine();
                System.out.println("Type in your age:");
                age = input.nextInt();
                if(this.isvalid() ){
                }
                x = 2;
            }while(x == 1);
        }catch(Exception e){
            throw new Exception("Invalid input. Please retry.");
        }
    }
    private Boolean isvalid(){
        return this.isValidName()&&this.isValidAge();
    }
    private Boolean isValidName(){
        return  name.isEmpty() && name.matches("[a-z]");
    }
    
    private Boolean isValidAge(){
        return !name.isEmpty()&& name.matches("[a-z]");
    }
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan