2014-09-25 80 views
-4

我刚开始编程,我做得很好,但不知道为什么这个程序没有输出。任何指针都会很棒,或者我缺少的东西。非常感谢你,我很高兴现在成为这个网站的一部分。我想知道为什么这个程序不会运行,温度程序

package temperature; 

import java.util.Scanner; 

public class Temperature { 

    public static void main(String[] args) { 

    int count; 

    double temp, temptotal, average, farenheit, ftotal, ctotal, caverage, faverage; 

    Scanner keyboard = new Scanner(System.in); 


    temp = 0; 
    count = 0; 

    while(temp <= -100.0){ 

    System.out.println("Enter Temp in Centigrade or <= -100.0 to quit: "); 

    temp = keyboard.nextDouble(); 
    ctotal = 0; 
    ftotal = 0; 
    caverage = 0; 
    faverage = 0; 
    farenheit = (9.0/5.0) * temp + 32.0; 
    ctotal += temp; 
    ftotal += farenheit; 
    count++; 


    if (temp <= -100.0){ 
     caverage = ctotal/count; 
     faverage = ftotal /count; 
     System.out.print(caverage); 
     System.out.print(faverage); 
     System.out.print("Average: Centigrade" +caverage); 
     System.out.println("Average: Farenheit" +faverage); 
    } 

    else{ 
     System.out.print("Temperature: F" +farenheit); 
     System.out.println("C " +temp); 
    } 


    } 
    } 
} 

回答

1

你永远不会进入你的“而”循环,因为你的初始条件:

temp = 0; 
count = 0; 

while(temp <= -100.0){ 

温度从0开始的,这是> -100,因此while循环被跳过,程序结束。

也许你的意思是

while (temp >= - 100.0) 

编码愉快。

+0

一个微不足道的调试工作将会指出这个错误,所以-1。 – 2014-09-25 23:39:36

+0

@MartinJames你注意到他说“我刚刚开始编程”,不是吗? – ajb 2014-09-25 23:47:24

0

您的while循环变为while (temp <= -100),但您的初始temp值为0,因此它永远不会进入循环。

要么将​​初始温度值设置为-100,要么改为使用do {} while(temp<=-100);结构。

相关问题