2014-03-26 46 views
0

到目前爲止,我的這個程序已經非常接近我想要的了。但我試圖找出一種方式後,用戶輸入他/她的號碼,他可以知道他是否輸入3個負數和4個有效數字如何讓我的用戶知道他們輸入了多少個數字,無論是負數還是負數

因此,讓他說,他輸入-7,-8,-3,2, 3,4,2它說你必須輸入3負號和4號陽性

import java.util.*; 
public class Testing2 { 
    public static void main(String[] args) { 

     int numbers; 
     System.out.println("Input seven numbers"); 
     for (int i = 1; i <8; i++){ 
      Scanner Nums = new Scanner(System.in); 

      numbers = Nums.nextInt(); 
      if (numbers < 0){ 
       System.out.println("You have " + numbers + " numbers that are negative"); 
      } else { 
       System.out.println("You have "+ numbers + " numbers that are postive"); 
      } 
     } 
    } 
} 

什麼意思資源泄漏:NUMS永遠不會關閉

我使用Eclipse和這個顯示的內容。任何人都知道爲什麼š

+0

這是相當的http://ux.stackexchange.com/的問題。最簡單的解決方案是提供一個簡單的通知/菜單,其中包含這些號碼。如果您需要特定於設計的建議,則需要爲您的帖子添加圖片。 –

+2

問題標題與您的實際問題不匹配 –

+0

''您有+號碼+「有負號的號碼」,爲準確,應該說是「號碼+號碼+」爲負數。而且這個變量也應該被命名爲'number'。 – aliteralmind

回答

0

試試這個:

import java.util.*; 
public class Testing2 { 
public static void main(String[] args) { 
     Scanner scanner = new Scanner(System.in); // Don't need to close as System.in 
     int numNegative = 0, numPositive = 0; 
     System.out.println("Input seven numbers"); 
     for (int i = 1; i < 8; i++){ 

      int number = scanner.nextInt(); 
      if (number >= 0){ // Is the number positive or 0 
       numPositive++; 
      } else { // Otherwise 
       numNegative++; 
      } 
     } 
     System.out.println("You have " + numPositive + " numbers that are positive"); 
     System.out.println("You have " + numNegative + " numbers that are negative"); 
    } 
} 
0

一種方式來做到這一點是使用一個數組來保持你的7個號碼的跟蹤,並保持正數或負數的軌道兩個變量(例如pos_numbers和neg_numbers),

這樣,每次您從用戶接收輸入時,if else語句都會測試數字是正數還是負數,如果數字是正數,則會將pos_numbers變量加1,並且如果它是負數,那麼它會將neg_numbers變量加1。用戶輸入完數字後,程序將顯示pos_numbers和neg_numbers的值,分別顯示用戶輸入了多少正數和負數。

此外,在for循環之前放置創建Scanner對象的行是一個好主意,因爲這隻需要一次而不是多次。

下面是代碼:

import java.util.*; 
    class Testing2 { 
     public static void main(String[] args) { 

      int[] numbers = new int[7]; 
      int pos_numbers = 0; 
      int neg_numbers = 0; 
      Scanner Nums = new Scanner(System.in); 

      System.out.println("Input seven numbers"); 
      for (int i = 0; i <7; i++) { 
       numbers[i] = Nums.nextInt(); 

       if (numbers[i] < 0) neg_numbers++; 
       else pos_numbers++; 
      } 

      System.out.println("You have " + neg_numbers + " numbers that are negative"); 
      System.out.println("You have "+ pos_numbers + " numbers that are postive"); 
     } 
    } 
相關問題