使用用户输入获取平均值(JAVA)
我试图获取用户输入,并使用他们的输入来计算平均值。我遇到的问题是,我的代码没有提示用户使用整数来计算平均值 这只是一段代码使用用户输入获取平均值(JAVA),java,methods,Java,Methods,我试图获取用户输入,并使用他们的输入来计算平均值。我遇到的问题是,我的代码没有提示用户使用整数来计算平均值 这只是一段代码 public static double[] getUserInput() { Scanner sc = new Scanner(System.in); List<Double> inputList = new ArrayList<Double>(); System.out.println("Please enter a
public static double[] getUserInput() {
Scanner sc = new Scanner(System.in);
List<Double> inputList = new ArrayList<Double>();
System.out.println("Please enter a number");
System.out.println(inputList);
double arr[] = new double[inputList.size()];
System.out.println(inputList.size());
return arr;
}
public static double arithmeticMean(double[] nums) {
double mean = 0;
double sum = 0;
// gets the mean
try {
for (int i = 0; i < nums.length; i++) {
sum = sum + nums[i];
}
mean = sum / nums.length;
} catch (ArithmeticException ex) {
System.out.println(ex);
}
return mean;
}
publicstaticdouble[]getUserInput(){
扫描仪sc=新的扫描仪(System.in);
List inputList=新建ArrayList();
System.out.println(“请输入一个数字”);
系统输出打印项次(输入列表);
double arr[]=新的double[inputList.size()];
System.out.println(inputList.size());
返回arr;
}
公共静态双算术平均值(双[]nums){
双平均值=0;
双和=0;
//中庸
试一试{
对于(int i=0;i
问题是您从未读取输入。实现扫描仪和读取用户输入的正确方法如下:
Scanner sc = new Scanner(System.in);
double userInput = 0;
System.out.print("Please enter a number");
userInput = sc.nextDouble(); // This is what you are missing
因此,您可以将变量userInput
添加到ArrayList中,或者直接读取到ArrayList中
更新:
这就是你想要的代码。它将询问用户输入的数量,然后将每个输入添加到数组中
public static double[] getUserInput() {
Scanner sc = new Scanner(System.in);
List<Double> inputList = new ArrayList<Double>();
System.out.println("Please enter how many numbers you will be inputing");
int numberOfInputs = sc.nextInt();
for (int i = 0; i < numberOfInputs; i++) {
System.out.println("Please enter a number");
double userInput = sc.nextDouble(); // Store user inputed double into temporary variable
inputList.add(userInput); // Add temporary variable into ArrayList
}
sc.close();
double[] arr = new double[inputList.size()];
for (int i = 0; i < arr.length; i++) {
arr[i] = inputList.get(i);
}
return arr;
}
publicstaticdouble[]getUserInput(){
扫描仪sc=新的扫描仪(System.in);
List inputList=新建ArrayList();
System.out.println(“请输入要输入的数字”);
int numberOfInputs=sc.nextInt();
对于(int i=0;i
问题是您从未读取输入。实现扫描仪和读取用户输入的正确方法如下:
Scanner sc = new Scanner(System.in);
double userInput = 0;
System.out.print("Please enter a number");
userInput = sc.nextDouble(); // This is what you are missing
因此,您可以将变量userInput
添加到ArrayList中,或者直接读取到ArrayList中
更新:
这就是你想要的代码。它将询问用户输入的数量,然后将每个输入添加到数组中
public static double[] getUserInput() {
Scanner sc = new Scanner(System.in);
List<Double> inputList = new ArrayList<Double>();
System.out.println("Please enter how many numbers you will be inputing");
int numberOfInputs = sc.nextInt();
for (int i = 0; i < numberOfInputs; i++) {
System.out.println("Please enter a number");
double userInput = sc.nextDouble(); // Store user inputed double into temporary variable
inputList.add(userInput); // Add temporary variable into ArrayList
}
sc.close();
double[] arr = new double[inputList.size()];
for (int i = 0; i < arr.length; i++) {
arr[i] = inputList.get(i);
}
return arr;
}
publicstaticdouble[]getUserInput(){
扫描仪sc=新的扫描仪(System.in);
List inputList=新建ArrayList();
System.out.println(“请输入要输入的数字”);
int numberOfInputs=sc.nextInt();
对于(int i=0;i
我猜您希望这样做:
public static void main(String[] args) {
Double[] arr = getUserInput();
System.out.println("The Arithmetic Mean is " + arithmeticMean(arr));
}
public static Double[] getUserInput() {
List<Double> inputList = new ArrayList<Double>();
Scanner sc = new Scanner(System.in);
System.out.println("Please one number at a time, or [Enter] to end.");
while (true) {
System.out.print("Next number: ");
String input = sc.nextLine();
if (input.equals(""))
break;
try {
inputList.add(Double.parseDouble(input));
}
catch (NumberFormatException e) {
System.out.println("Please enter a valid number, or [Enter] to end.");
}
}
sc.close();
Double[] arr = new Double[inputList.size()];
arr = inputList.toArray(arr);
return arr;
}
public static double arithmeticMean(Double[] nums) {
double mean = 0;
double sum = 0;
// gets the mean
try {
for (int i = 0; i < nums.length; i++) {
sum = sum + nums[i];
}
mean = sum / nums.length;
} catch (ArithmeticException ex) {
System.out.println(ex);
}
return mean;
}
publicstaticvoidmain(字符串[]args){
Double[]arr=getUserInput();
System.out.println(“算术平均值为”+算术平均值(arr));
}
公共静态双[]getUserInput(){
List inputList=新建ArrayList();
扫描仪sc=新的扫描仪(System.in);
System.out.println(“请一次输入一个数字,或[输入]结束”);
while(true){
系统输出打印(“下一个号码:”);
字符串输入=sc.nextLine();
if(输入。等于(“”)
打破
试一试{
add(Double.parseDouble(input));
}
捕获(数字格式){
System.out.println(“请输入有效数字,或[输入]结束”);
}
}
sc.close();
Double[]arr=新的Double[inputList.size()];
arr=输入列表到阵列(arr);
返回arr;
}
公共静态双算术平均值(双[]nums){
双平均值=0;
双和=0;
//中庸
试一试{
对于(int i=0;i
我猜您希望这样做:
public static void main(String[] args) {
Double[] arr = getUserInput();
System.out.println("The Arithmetic Mean is " + arithmeticMean(arr));
}
public static Double[] getUserInput() {
List<Double> inputList = new ArrayList<Double>();
Scanner sc = new Scanner(System.in);
System.out.println("Please one number at a time, or [Enter] to end.");
while (true) {
System.out.print("Next number: ");
String input = sc.nextLine();
if (input.equals(""))
break;
try {
inputList.add(Double.parseDouble(input));
}
catch (NumberFormatException e) {
System.out.println("Please enter a valid number, or [Enter] to end.");
}
}
sc.close();
Double[] arr = new Double[inputList.size()];
arr = inputList.toArray(arr);
return arr;
}
public static double arithmeticMean(Double[] nums) {
double mean = 0;
double sum = 0;
// gets the mean
try {
for (int i = 0; i < nums.length; i++) {
sum = sum + nums[i];
}
mean = sum / nums.length;
} catch (ArithmeticException ex) {
System.out.println(ex);
}
return mean;
}
publicstaticvoidmain(字符串[]args){
Double[]arr=getUserInput();
System.out.println(“算术平均值为”+算术平均值(arr));
}
公共静态双[]getUserInput(){
List inputList=新建ArrayList();
扫描仪sc=新的扫描仪(System.in);
System.out.println(“请一次输入一个数字,或[输入]结束”);
while(true){
系统输出打印(“下一个号码:”);
字符串输入=sc.nextLine();
if(输入。等于(“”)
打破
试一试{
add(Double.parseDouble(input));
}
捕获(数字格式){
System.out.println(“请输入有效数字,或[输入]结束”);
}
}
sc.close();
Double[]arr=新的Double[inputList.size()];
arr=输入列表到阵列(arr);
返回arr;
}
公共静态双算术平均值(双[]nums){
双平均值=0;
双和=0;
//中庸
试一试{
对于(int i=0;i
仅定义不带任何数字的扫描仪类,如sc.nextDouble()
。仅定义不带任何数字的扫描仪类,如sc.nextDouble()
。非常感谢您的帮助。对不起,我不太清楚您在ArrayList中添加userInput是什么意思。非常感谢您的帮助。对不起,我不太清楚