Основная палач-программа на Java - PullRequest
0 голосов
/ 09 декабря 2018

Мне нужно получить условие, чтобы следовать, является ли алфавит xyz, и я не могу понять логику этого.

package guessword;

import java.util.*;

public class Guessword {       
    public static void main(String[] args) {   
        char s[] = {'a','b','c','d','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
        System.out.println("Guess The seven letter word\nPress Enter");
        Scanner scanner = new Scanner(System.in);
        scanner.nextLine();
        System.out.print("");
        for(int a=1;a<=7;a++){
            System.out.println("Attempt "+a);
            scanner = new Scanner(System.in);
            String input = scanner.nextLine();
            System.out.println(Arrays.toString(s));       
            if(a=='a') {
                System.out.println("- - - - - a -"); 
            }
            else if(a=='g'){
                System.out.println("- - - g - - -");
            }
            else if(a=='m') {
                System.out.println("- - -  - - m");
            }
            else if(a=='o') {
                System.out.println("- - o  - - -");
            }
            else if(a=='p'){
                System.out.println("p - -  - - -");
            }
            else if(a=='r'){
                System.out.println("- r -  - - -");
            }
            else {
                System.out.println("Give it another go!");
            }
        }
    }  
}  

Вот как это дает вывод:

Guess The seven letter word
Press Enter

Attempt 1
a
[a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
Give it another go!
Attempt 2

и в этой строке [a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z] хотелось бы, чтобы это не печаталось.но состояние.

1 Ответ

0 голосов
/ 09 декабря 2018

вы проверяете неправильный ввод, потому что a - это число, а пользовательский ввод - input.Также вы сравниваете String, поэтому вы должны использовать equals следующим образом:

if(input.equals("a")) {
    System.out.println("- - - - - a -"); 
} else if(input.equals("g")) {
    System.out.println("- - - g - - -");
} else if(input.equals("m")) {
    System.out.println("- - -  - - m");
} // and so on...

И вы можете инициализировать Scanner перед основным циклом и закрыть его после него, например так:

scanner = new Scanner(System.in);
for(int a=1;a<=7;a++){
    System.out.println("Attempt "+a);
    // some code ...
}
scanner.close();

И последнее, но не менее важное: вы печатаете массив каждый раз, когда вызываете этот System.out.println(Arrays.toString(s));, поэтому вы должны удалить его, если не хотите, чтобы он появлялся на консоли.

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