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

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

JAVA中另一個條件

JAVA中另一個條件

婷婷同學_ 2023-09-27 14:58:35
讓用戶只嘗試 3 次,之后他的帳戶就會被暫停我嘗試要求用戶提供最終密碼 3 次,如果他沒有這樣做,就會告訴他他的帳戶被暫停,如果正確的話會給他一條刺耳的消息。package EE;import java.util.Scanner;public class test {    public static void main(String[] args) {            final String password= "Test";            Scanner sc = new Scanner(System.in);            System.out.println("Please enter the password: ");            String pass = sc.next();            for (int i=0; i<2;) {            if (!pass.equals (password))                i++;                System.out.println("Try again! ");                String pass1 = sc.next();                     if(pass.equals( password))                        System.out.println("Welcome");                        String pass2 = sc.next();                    if (i == 2)            System.out.println("Sorry, your account is suspened");          }}}
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

您需要{ ... }在語句中的塊周圍使用大括號if:


for (int i=0; i<2;) {

if (!pass.equals (password))

? ? i++;

? ? System.out.println("Try again! ");

? ? String pass1 = sc.next();

? ? ? ? ?if(pass.equals( password))

? ? ? ? ? ? System.out.println("Welcome");

? ? ? ? ? ? String pass2 = sc.next();

? ? ? ? if (i == 2)

System.out.println("Sorry, your account is suspened");

}?

實際上的意思是這樣的:


for (int i = 0; i < 2; ) {

? ? if (!pass.equals(password)) {

? ? ? ? i++;

? ? }

? ? System.out.println("Try again! ");

? ? String pass1 = sc.next();

? ? if (pass.equals(password)) {

? ? ? ? System.out.println("Welcome");

? ? }

? ? String pass2 = sc.next();

? ? if (i == 2) {

? ? ? ? System.out.println("Sorry, your account is suspened");

? ? }

}

一旦我們正確縮進了代碼并在編譯器期望的位置添加了大括號,我們就可以開始看到一些問題。

例如:

  1. 當密碼正確時,不會增加任何內容i。這意味著這i < 2不會是真的,并且循環將繼續循環下去。

  2. 您為每個循環迭代調用next()兩次。

等等。

現在我可以為你重寫你的代碼1。但你不會從中學到很多東西。(您可以通過自己編寫代碼、犯錯誤、發現并糾正它們……自己來學得最好?。?/p>

相反,我會推薦您閱讀有關“橡皮鴨”調試技術的內容。這聽起來像是一個笑話,但事實并非如此。這是一項以幽默的方式解釋的重要技術。這就是我在 18 歲學習編程時所學到的一種調試程序的方法2。

橡皮鴨調試背后的想法是幫助您了解計算機如何“思考”。一旦你能做到這一點,編程就會變得容易得多。這就是為什么我強烈建議您自己做這件事!

不管怎樣,一旦你能想象出代碼哪里出了問題,下一步就是弄清楚它該做什么。


1 - 一開始會更快!

2 - 雖然我們當時并沒有叫它這個名字。我們稱之為手工執行,我們用鉛筆和紙來完成。通常在舊計算機打印輸出的背面。是的,很久以前了。那時,我們沒有調試器或 IDE。需要打卡并等待 20 分鐘才能取回打印輸出!


查看完整回答
反對 回復 2023-09-27
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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