我有一个问题,在我的if语句中似乎没有运行for循环,因此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));
}
}
}
}
最佳答案
循环运行,但温度大小为0,这意味着循环即将结束。温度填充在if子句中,但是如果转到if,则下一个子句else if将不会执行。
阅读列表之前,您必须先填入Tempaturatur,或者将Tempaturatur定义为var类而不是local var。