java - For 循环在 if 情况下不运行

标签 java for-loop if-statement

我有一个问题,我的 for 循环似乎没有在 if 语句中运行,for 循环应该打印列表中的所有值。

import java.util.*;

public class kapitel12 {

public static void main(String[] args) 
{

    Scanner scan = new Scanner(System.in);
    List<Float> temperatur = new ArrayList<Float>();

    while(true)
    {           
        System.out.println("[L]ägg till temperaturmätning");
        System.out.println("[S]kriv ut alla temperaturer och medeltemperatur");
        System.out.println("[T]ag bort temperaturmätning");
        System.out.println("[A]vsluta");

        String val = scan.next();

        if (val.equals("L") || val.equals("l"))
        {
            System.out.println("Lägg till temperatur");

            float temp = Float.parseFloat(scan.next());
            temperatur.add(temp);
            System.out.println(temperatur);
        }
        else if (val.equals("S") || val.equals("s")) 
        {
            System.out.println("Alla mätningar");


            for(int i = 0; i < temperatur.size(); i++)
            {
                System.out.println("Mätning" + i + ":" + temperatur.get(i));

            }
    }       
}   
}

最佳答案

循环运行,但temperatur的大小为0,这意味着循环立即结束。 温度填充在if子句中,但是如果您转到if,那么下一个子句else if将不被执行。

在读取列表之前,您必须填充temperatur,或者将temperatur定义为类变量而不是本地变量。

关于java - For 循环在 if 情况下不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665752/

相关文章:

java - 如何允许用户使用不同的参数运行 Docker 应用程序

javascript - 无法读取二维数组的 for 循环中未定义的属性 'length'

java Hangman - 计算正确的用户猜测

java - Jackson/Gson 将 JavaFX Properties 序列化和反序列化为 json

java - 使用配置文件中的 Maven 复制并覆盖一些资源

swift - 如何延迟迭代

java - 运算符 ||未定义参数类型 boolean, int

java - 是否有任何形式可以将字符数组放在字符串上并再次更改它?

java - 用户界面通常是如何构建的?

javascript - 使用 JavaScript 使用 for 循环声明变量