亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嵌套 if 語句沒有字符串

嵌套 if 語句沒有字符串

瀟瀟雨雨 2022-05-12 16:00:23
我正在做一個回文數序列。我已經設置好了數學,但是我在嵌套我的 if 語句時遇到了麻煩,只顯示一個答案。我試圖從“else if”中刪除“if”,但 java 無法識別。輸出不提供“非 5 位數字”,當我輸入 5 位回文數時,它會發送 True 和 False 輸出,而不僅僅是 true。但是,它非常適合輸入錯誤的 5 位數字。我能否就如何正確嵌套提供一些幫助是我所要求的,或者是一個很好的解釋示例來幫助我實現結果,因為我去過很多網站,但大多數都太簡單并且缺乏示例比較。import java.util.Scanner;public class Palindrome{   public static void main(String args[])   {    Scanner input = new Scanner(System.in);   System.out.print ("Enter 5-digit integer value: ");   int userNumber = input.nextInt();    System.out.println("Input value: " + "\t" + userNumber);      //User input incorrect amount of digits      if (userNumber >= 100000 && userNumber <= 9999)       {      System.out.println("Not 5 digits.");      }            else if(userNumber < 100000 && userNumber > 9999)             {            int Number5 = (userNumber/10000) % 10;            int Number4 = (userNumber/1000) % 10;            int Number3 = (userNumber /100) % 10;            int Number2 = (userNumber/10) % 10;            int Number1 = userNumber % 10;            //Conditions are met for Palidrome Number              if(Number1 == Number5 && Number2 == Number4)                {                  System.out.println("Judgement: " + "\t" + "\t" + "True");               }               //Conditions are not met for Palidrome Number               else if (Number1 != Number5 || Number2 !=Number4);                     {                  System.out.println("Judgement: " + "\t" + "\t" + "False");                   }          }   }}結果應顯示真、假或非 5 位數字
查看完整描述

2 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

沒有數字是>= 100000 and <= 9999,這就是為什么你永遠看不到不是 5 位數字的原因。

您必須將該條件更改為:


if (userNumber <= 9999 || userNumber > 99999)

并改變:


else if(userNumber < 100000 && userNumber > 9999)

到一個簡單的


else

因為如果代碼到達該else部分,那么userNumber < 100000 && userNumber > 9999總是true.

這同樣適用于


else if (Number1 != Number5 || Number2 !=Number4);

(注意:;最后是錯誤的并且是嚴重頭痛的根源)

必須更改為:


else

這個說法:


int Number3 = (userNumber / 100) % 10;

是多余的,因為 的值Number3在這種情況下沒有用。

所以你的代碼應該像這樣簡化:


public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    System.out.print ("Enter 5-digit integer value: ");

    int userNumber = input.nextInt();

    System.out.println("Input value: " + "\t" + userNumber);


    if (userNumber <= 9999 || userNumber > 99999) {

        System.out.println("Not 5 digits.");

    }

    else {

        int Number5 = (userNumber / 10000) % 10;

        int Number4 = (userNumber / 1000) % 10;

        int Number2 = (userNumber / 10) % 10;

        int Number1 = userNumber % 10;


        if (Number1 == Number5 && Number2 == Number4) {

            System.out.println("Judgement: " + "\t" + "\t" + "True");

        } else {

            System.out.println("Judgement: " + "\t" + "\t" + "False");

        }


    }

}


查看完整回答
反對 回復 2022-05-12
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

這可以工作:


import java.util.Scanner;

import java.lang.*;

public class Main

{

   public static void main(String args[])

   {

    Scanner input = new Scanner(System.in);

   System.out.print ("Enter 5-digit integer value: ");

   String userNumber = input.next();

    System.out.println("Input value: " + "\t" + userNumber);


      //User input incorrect amount of digits

      if (userNumber.length()!=5) 

      {

      System.out.println("Not 5 digits.");

      }   

         else{

            //Conditions are met for Palidrome Number

              if(new StringBuilder(userNumber).reverse().toString().equals(userNumber))

                {

                  System.out.println("Judgement: " + "\t" + "\t" + "True");

               }

               //Conditions are not met for Palidrome Number

               else

                     {

                  System.out.println("Judgement: " + "\t" + "\t" + "False");

                   }     

     }

   }

}

您的第二條else if語句是多余的,并且您的最后一條 if 語句中有一個額外的分號。


查看完整回答
反對 回復 2022-05-12
  • 2 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號