在我的代码中,如果用户为两个变量输入一个空字符串,我希望循环退出。输入空字符串后,似乎没有任何反应。

我要去哪里错了?

import java.util.HashMap;
import java.util.*;

public class Main {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        String lakeName;
        String timeRun;

        HashMap<String, Double> newMap = new HashMap<>();

        do {
            System.out.println("Enter the Lake Name");
            lakeName = input.nextLine();
            System.out.println("Enter number of minutes run");
            timeRun = input.nextLine();
            Double finalRun = Double.parseDouble(timeRun);
            newMap.put(lakeName, finalRun);

            if(lakeName.equalsIgnoreCase("") || timeRun.equalsIgnoreCase("")){

                break;
            }

        } while(true);

        for(String key: newMap.keySet()){
            Double value = newMap.get(key);
            System.out.println(key + ": "+ value);
        }
    }
}

最佳答案

尝试这个 :

 do {
    System.out.println("Enter the Lake Name");
    lakeName = input.nextLine();
    System.out.println("Enter number of minutes run");
    timeRun = input.nextLine();
    if(lakeName.equalsIgnoreCase("") || timeRun.equalsIgnoreCase("")){

        break;
    }
    Double finalRun = Double.parseDouble(timeRun);
    newMap.put(lakeName, finalRun);



} while(true);


放置if{...},否则将给出NumberFormatException。

关于java - 根据指定的条件执行while循环退出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35641559/

10-10 04:56