【解決方法】シンプルなストーン ペーパー シザー ゲームを作成していましたが、if else が実行されません //dghiuhdhgkhdkghudhkjghkhdkthxfkhgkhcfkghuchfkjhbuhkfughkhfug

プログラミングQA


package practice;
import java.util.Scanner;

public class pract4 {

	public static void main(String[] args) {
	
	Scanner sc = new Scanner (System.in);


     System.out.println("enter rock,paper,scissor");
	 String user1 = sc.nextLine();	 
	 System.out.println("enter rock,paper,scissor");
	 String user2 = sc.nextLine();	
	 
	 
	 
	 if ( user1 ==("rock") && user2 ==("paper"))	{
	 
		 System.out.println("user1 wins!");
	 }
	
	  
	 else if (user1==("rock")&& user2==("scissor"))
	 {
		 System.out.println("user1 wins!");
	 }
		
	 else if (user1==("paper") && user2==("rock"))
	 {
		 System.out.println("user1 wins!");
	 }
	 
	 else if (user1==("paper") && user2==("scissor"))
	 {
		 System.out.println("user2 wins!");
	 }
		
	 else if (user1==("scissor") && user2==("rock"))
	 {
		 System.out.println("user2 wins!");
	 }
		
	 else if (user1==("scissor") && user2==("paper"))
	 {
		 System.out.println("user1 wins!");
	 }
		
	 else
	 {
		 System.out.println(user1==user2);
	 }
		
   }
}

What I have tried:

if and else not executing//hdthgiudhiughiudshguhisghiuduyhvjdfugjdfgjdfjgjdbgjjgbibfdgbjbgibg

解決策 1

import java.util.*;
public class pract4 
{
   public static void main(String[] args) 
   {
	 Scanner sc = new Scanner (System.in);
	 
         System.out.println("enter rock,paper,scissor");
	 String user1 = sc.nextLine();	 
	 System.out.println("enter rock,paper,scissor");
	 String user2 = sc.nextLine();	
	 
	 
	 if ( user1 ==("rock") && user2 ==("paper"))	
	     System.out.println("user1 wins!");
	 
	 else if (user1==("rock")&& user2==("scissor"))
	     System.out.println("user1 wins!");
		
	 else if (user1==("paper") && user2==("rock"))
	     System.out.println("user1 wins!");
	 
	 else if (user1==("paper") && user2==("scissor"))
             System.out.println("user2 wins!");
		
	 else if (user1==("scissor") && user2==("rock"))
	 	 System.out.println("user2 wins!");
	 
	 else if (user1==("scissor") && user2==("paper"))
	   System.out.println("user1 wins!");
	 else
	   System.out.println(user1==user2);
	 
   }

括弧とブロック内の括弧の配置に問題があったと思いますが、それ以外の場合はロジックに問題はありません。 条件ステートメント (if、else、for、while など) で、ステートメントが 1 つしかない場合は、ブロックのかっこを省略できる (オプションを意味します) という点に留意してください。 これにより、コードがより正確かつコンパクトに見えます。

コメント

タイトルとURLをコピーしました