簡體   English   中英

While循環和While循環的退出

[英]While Loop and Exiting of While Loop

import java.io.*; import java.util.*;
public class Test{
public static void main(String args[]){
    while(true)
    {
        Scanner kbReader=new Scanner(System.in);
        System.out.println("Whats your name?");
        String s=kbReader.nextLine();
        String at=s.substring(0,1);
        if(at.equalsIgnoreCase("t"))
        {
            System.out.println("You're AWESOME!!!");
        }
        else
        {
            System.out.println("You suck");
        }
    }
}
}

我的代碼是一個簡單的輸入代碼,要求輸入您的姓名,僅查看第一個字母,然后通過if語句運行它。 我使用一個while循環來不斷循環代碼。 我如何編寫一行代碼來詢問輸入字符串的人是否要退出while循環?

只需對特定的字符或字符串執行if ,然后使用returnbreak

例如 :

if (at.equalsIgnoreCase("Q")) {
    break;
}

編輯 :替代方法是在循環結束時再次詢問用戶是否要繼續:

System.out.println("Do you want to continue ? [Y]/N");
String s=kbReader.nextLine();
if (at.equalsIgnoreCase("N")) {
    break;
}

您可以通過捕獲特定字符來終止循環。 您可以在查詢名稱的println語句中提供該字符:

while(true)
{
    Scanner kbReader=new Scanner(System.in);
    System.out.println("Whats your name? Or type # to end");
    String s=kbReader.nextLine();
    String at=s.substring(0,1);
    if(at.equalsIgnoreCase("#"))
    {
        break;
    }
    else if(at.equalsIgnoreCase("t"))
    {
        System.out.println("You're AWESOME!!!");
    }
    else
    {
        System.out.println("You suck");
    }
}

在工作流程中包含轉義序列,例如整數:

String s=kbReader.nextLine();
if (s.equalsIgnoreCase("0") { // hopefully no one is named zero :)
  break;
}
String at=s.substring(0,1); ...

您可以通過一種更加優雅的方式來制作菜單:

import java.io.*; import java.util.*;
public class Test{
public static void main(String args[]){
    while(true)
    {
        Scanner kbReader=new Scanner(System.in);
        System.out.println("Whats your name?\nPress 0 to quit program");
        String s=kbReader.nextLine();
        String at=s.substring(0,1);
        if(at.equalsIgnorecase("0")){
        break;
        }
        if(at.equalsIgnoreCase("t"))
        {
            System.out.println("You're AWESOME!!!");
        }
        else
        {
            System.out.println("You suck");
       }
    }
}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM