2016-10-24 10 views
0

제 자바 숙제는 "식물 성장을 추적하는 Java 프로그램 작성"이었습니다. 그래서 내 문제는 식물의 높이 (H)는 음수가 될 수 없다는 것입니다,하지만 난 대신에 -1의, 내 프로그램에서 모두 0 또는 아무것도를 추가 없는지 확인하는 방법을 잘 모르겠어요 "시간"Java : 음수가 추가되지 않았습니다.

import java.util.Scanner; 

public class PlantGrowth { 
    public static void main(String [] args){ 
    final int NUMMONTHS = 12; 
    int [] avgTemp = {46, 48, 49, 50, 51, 53, 54, 55, 56, 55, 51, 47}; 
    int [] avgRain = {5, 3, 3, 1, 1, 0, 0, 0, 0, 1, 3, 4}; 
    int [] newGrowth; 
    newGrowth = new int[NUMMONTHS]; 
    int min_temp, max_temp, min_rain, h = 0; 

    Scanner in = new Scanner(System.in); 
    System.out.println("Welcome to the 210 gardening planner!"); 
    System.out.println("Enter minimum temperature for plants:"); 
    min_temp = in.nextInt(); 
    System.out.println("Enter maximum temperature for plant:"); 
    max_temp = in.nextInt(); 
    System.out.println("Enter minimum rainfall for plant:"); 
    min_rain = in.nextInt(); 
    System.out.println("Month\tTemp Rain Growth\tPlant Height"); 

    for (int i = 0; i < NUMMONTHS; i++){ \\i think the problem is somewhere here 
     if (avgTemp[i] < min_temp || avgTemp[i] > max_temp){ 
      newGrowth[i] = -1;} 
     else { 
      newGrowth[i] = avgRain[i] - min_rain;} 
     h += newGrowth[i]; 

     System.out.printf("%s\t%s%4s%5s\t\t%s\n", i, avgTemp[i], 
     avgRain[i], newGrowth[i], h); 
    } 
    } 
} 

\\This is my output 
Enter minimum temperature for plants: 
47 
Enter maximum temperature for plant: 
60 
Enter minimum rainfall for plant: 
0 

Month Temp Rain Growth  Plant Height 
0  46 5 -1    -1 \\ the sum should be 0, not -1 
1  48 3 3    2 
2  49 3 3    5 
3  50 1 1    6 
4  51 1 1    7 
5  53 0 0    7 
6  54 0 0    7 
7  55 0 0    7 
8  56 0 0    7 
9  55 1 1    8 
10  51 3 3    11 
11  47 4 4    15 \\as a result the final sum is off by 1 
+0

아래로 이동하면 간단히 제로 h를 재설정? – BlackHatSamurai

답변

2

에 `대신 -1을 추가, 그것은 당신이`newGrowth [내가] = 0을 할 수 있도록 왜 그냥 그것을 할 수 없습니다 제로

h += newGrowth[i]; 

if (h < 0) { 
    h = 0; 
} 
+0

와우 ... 그렇게 간단합니다. 정말 고마워요 (그렇지 않습니다) 무서운 Wombat, 나는 이것을 잊지 않을 것입니다. – 54mike

관련 문제