Member 13754804 Ответов: 2

Программа выполняется но случай переключения не рассматривается я имею в виду что он вообще не выполняется


import java.util.*;
public class playing_rock_paper_scissors_against_computer{
    public void main(){
        Scanner in=new Scanner(System.in);      
        System.out.println( "please choose difficulty level 'H' for hard, 'M' for medium and 'E' for easy");
        char lev=in.next().charAt(0);
        System.out.println("OK");
        System.out.println("so lets start ROOOOOCK,PAAAAPER,SCISSORS");
        String ch=in.next();
        double n=Math.random();
        String str;
        switch(lev){
        case 'H':
        if(ch=="rock"){
            if(n>=0.41&&n<=0.9){
                System.out.println("Paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose an easier level next time");
               }
            if(n>=0.31&&n<=0.4){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
                
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
        }    
            
            
        
        if(ch=="paper"){
            if(n>=0.41&&n<=0.9){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose an easier level next time");
               }
            if(n>=0.31&&n<=0.4){
                System.out.println("Paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
            else{
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose an easier level next time");
               }
                
        }
        if(ch=="scissors"){
            if(n>=0.41&&n<=0.9){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose an easier level next time");
               }
            if(n>=0.31&&n<=0.4){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
                }
            if(n>=0.0&&n<=0.3){
                System.out.println("paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
                
                }
            else{
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose an easier level next time");
                }
         }
        case 'M':
        if(ch=="rock"){
            if(n>=0.61&&n<=0.9){
                System.out.println("Paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose level easy next time");
               }
            if(n>=0.31&&n<=0.6){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
            else{
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
                
        }
        if(ch=="paper"){
            if(n>=0.61&&n<=0.9){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose level easy next time");
               }
            if(n>=0.31&&n<=0.6){
                System.out.println("Paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.31){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
            else{
                 System.out.println("Paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
        }
        if(ch=="scissors"){
            if(n>=0.61&&n<=0.9){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
                System.out.println("choose level easy next time");
               }
            if(n>=0.31&&n<=0.6){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
            else{
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
                
         }
        case 'E':
        if(ch=="rock"){
            if(n>=0.41&&n<=0.9){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
               }
            if(n>=0.31&&n<=0.4){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
            }
            else{
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
            
        }
        if(ch=="paper"){
            if(n>=0.41&&n<=0.9){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
               }
            if(n>=0.31&&n<=0.4){
                System.out.println("paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
            }
            else{
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
               }
            }    
        if(ch=="scissors"){
            if(n>=0.41&&n<=0.9){
                System.out.println("paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
            if(n>=0.31&&n<=0.4){
                System.out.println("scissors");
                str="scissors";
                System.out.println("computer puts"+str);
                System.out.println("Unfortunately it is a draw");
            }
            if(n>=0.0&&n<=0.3){
                System.out.println("rock");
                str="rock";
                System.out.println("computer puts"+str);
                System.out.println("user loses please try again");
                System.out.println("computer wins");
            }
            else{
                System.out.println("paper");
                str="paper";
                System.out.println("computer puts"+str);
                System.out.println("User wins yayee!!!!");
            }
        }
     }
     
     System.out.println("thanks for playing the game");    
    }}


Что я уже пробовал:

Я пробовал выполнять,но он просто принимает входные данные до тех пор, пока камень, ножницы или бумага не покинут переключатель и не напечатают непосредственно последнее утверждение

W∴ Balboos, GHB

Вряд ли кто - то прочтет ваш список-тем более, что вы даже не намекаете, где это пошло не так. Переформулируйте вопрос так, чтобы проблема была выделена, а не скрыта.

Member 13754804

можете ли вы теперь проверить пожалуйста я изменил вопрос

OriginalGriff

Измененные теги на Java - Javascript-это совершенно другой язык и среда.

2 Ответов

Рейтинг:
2

Richard MacCutchan

У вас есть выражения вида if (ch=="rock"), который всегда будет терпеть неудачу. Видеть Строка (Java Platform SE 7 )[^] для правильного способа сделать это.


Member 13754804

тогда вы можете дать мне правильные коды

Richard MacCutchan

Перейдите по ссылке, которую я вам дал, и узнайте, как использовать правильные строковые методы.

Рейтинг:
2

Patrice T

Похоже, вы не совсем понимаете оператор switch и использование break, вам следует изучить его дальше:
Оператор switch (учебники Java™ > изучение языка Java > основы языка)[^]
Похоже, вам тоже стоит почитать о рэндоме и next:
Random (Java Platform SE 8 )[^]

Ваш 'ROOOOOCK,PAAAAPER,ножницы,игра BAZOOOOOKA является несправедливым, поскольку уровень выбирает сколько компьютер обманывает.

Я думаю, что вы должны изучить отладчик как можно скорее:
Ваш код ведет себя не так, как вы ожидаете, и вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что вы должны делать, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Member 13754804

тогда вы можете дать мне правильный код