我一直在試圖讓這個程序工作,應該繼續從用戶輸入,直到輸入-1並計算總和。 問題如下: 設計並實現一個Java程序(命名爲 InputSum ),它提示用戶輸入一個正整數 。該程序應爲ac cept整數,直到用戶輸入值-1 (負數)。用戶輸入-1後,程序 應顯示輸入的數字,然後顯示其總和 ,如下所示。請注意,-1不是輸出的一部分。 確保程序 在proc 之前驗證每個輸入的號碼,因爲用戶可以輸入除句號值-1 以外的負數 數字。
設計你的程序,使其 允許用戶重新運行 程序與上面顯示的同一運行中的一組不同的輸入。 記錄您的代碼,並按上圖所示組織空間輸出。想不通爲什麼程序將無法正常運行
這裏是我的代碼:
/* Class: CS1301
* Section: 9:30
* Term: Fall 2015
* Name: Matthew Woolridge
* Instructor: Mr. Robert Thorsen
* Assignment: Assignment 6
* Program: 1
* ProgramName: InputSum
* Purpose: The program prompts the user to input numbers until -1 is entered and calculates the sum
* Operation: The information is statically instantiated in the code and
* the data is output to the screen.
* Input(s): The input is the numbers
* Output(s): The output will be the sum of the numbers
* Methodology: The program will use loops to determine if numbers or still to be entered or if -1 was entered
*
*/
import java.util.*;
import java.io.*;
public class InputSum
{
public static void main (String[] args)
{
/******************************************************************************
* Declarations Section *
******************************************************************************/
/****************************CONSTANTS********************************/
Scanner scan = new Scanner(System.in); //Initializes scanner
int n = 1;
int [] num = new int[n]; //Creates array for input numbers
int i;
int sum=0;
/******************************************************************************
* Inputs Section *
******************************************************************************/
System.out.print("Please input integers, note that -1 ends the submissions: "); //Prompts the user for input
/****************************variables********************************/
//***************************Calculations in processing************************//
/******************************************************************************
* Processing Section *
******************************************************************************/
for(i=0; i<num.length; i++)
{
num[i] = scan.nextInt(); //Continues to read numbers and add them to the sum
n = n + 1; //Adds to the array maximum
sum = sum + num[i]; //Calculates the sum
if (num[i] == -1){
break;
}
}
System.out.print("The numbers entered are: " + num[i]);
System.out.print("\nThe sum of the numbers is: " + sum);
/******************************************************************************
* Outputs Section *
******************************************************************************/
//***************Output is in the processing**************************//
}
}
的問題是,該方案不斷得到在哪裏它應該打印之行掛斷了電話。任何和所有的幫助表示讚賞!
你的程序是因爲你的數組大小是'1',所以它只能接受'num [0]'的值。 –
由於您不知道用戶使用陣列輸入的值有多少,因此是不好的選擇。使用一些根據需要擴展的數據結構。例如。一個ArrayList應該適合你的需求。 –
我應該如何去使用一個數組列表,我沒有必要經常使用它,說實話。 – snipem1438