2015-12-02 4 views
-2

Я пишу какой-то код, но не уверен, как установить его, чтобы пользователи могли вводить только определенные буквы для оценки. (A, B, C, D, F)Как разрешить ввод букв?

import java.io.IOException; 
import java.util.Scanner; 

public class Forloop { 

public static void main(String[] someVariableName) throws IOException { 

String Grade1; 
String Grade2; 
String Grade3; 
String Grade4; 
String Grade5; 


Scanner in = new Scanner(System.in); 
System.out.println("This program will ask you to input five grades \n"); 

System.out.println("Please enter leter grade one. \n"); 
Grade1 = in.next(); 
System.out.println("Please enter leter grade two. \n"); 
Grade2 = in.next(); 
System.out.println("Please enter leter grade three. \n"); 
Grade3 = in.next(); 
System.out.println("Please enter leter grade four. \n"); 
Grade4 = in.next(); 
System.out.println("Please enter leter grade five. \n"); 
Grade5 = in.next(); 
System.out.println("Your grades are ==>"); 
System.out.println(Grade1); 
System.out.println(Grade2); 
System.out.println(Grade3); 
System.out.println(Grade4); 
System.out.println(Grade5); 

} 
} 

ответ

4

Переменные должны начинаться с буквы нижнего регистра.

Для того, чтобы ввести только достоверные данные, запрограммируйте их снова и спросите, если это неверно.

Письмо пишется с кодом 2 t.

nextLine(), а не next().

Самый простой способ проверить действительный текст (для этого случая), является регулярным выражением, например.

String grade1; 
do { 
    System.out.println("Please enter letter grade one: "); 
    grade1 = in.nextLine(); 
} while (! grade1.matches("[ABCDF]")); 
2

Используйте этот подход.

import java.io.IOException; 
import java.util.Scanner; 


public class Forloop { 

    public static void main(String[] someVariableName) throws IOException { 

    String[] grades = new String[5]; 
    Scanner in = new Scanner(System.in); 
    System.out.println("This program will ask you to input five grades \n"); 

    for(int i = 0; i < grades.length; i++) { 
     System.out.println("Please enter letter grade " + i + "\n"); 
     grades[i] = in.nextLine(); 
     while(!grade[i].matches("[abcdfABCDF]")) { 
     System.out.println("Please enter a grade from A to F"); 
     grades[i] = in.nextLine(); 
     } 
    } 

    System.out.println("Your grades are ==>"); 
    for(int i = 0; i < grades.length; i++) { 
     System.out.println(grades[i]); 
    } 
    } 
} 
+1

Нет оценки 'E'. – Andreas

Смежные вопросы