有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我的return语句不起作用。我做错了什么?

我想用从0-9中随机选择的100个数字制作一个数组列表。 然后我希望java打印arraylist中的平均值和最常用的数字

这是我的代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class exercarrlist {

//main method
public static void main(String[] args) {

    ArrayList<Integer> list1 = new ArrayList<Integer>();
    Random n = new Random();

    for(int i=0;i<100;i++){
        list1.add(n.nextInt(9));
    }
    Average(list1);
    most(list1);
}

//average
public static int Average(ArrayList<Integer> input){
    int sum = 0;
    for (int getal: input) {
         sum +=getal;
  }
    int gemiddelde = sum / input.size();
    return gemiddelde;
}
//most seen in arraylist
public static int most(ArrayList<Integer> input){
    int[] counts = {0,0,0,0,0,0,0,0,0,0};
    for(int getal: counts){
        counts[getal]++;
    }
    int max = 0;
    for(int i = 0; i < counts.length; i++){
        if(counts[i]>max){
            max=i;
        }
    }
    return max;

}
}

我想让java在屏幕上打印max和gemiddelde,但不行。你能帮我找出错误吗


共 (4) 个答案

  1. # 1 楼答案

    如果你只是想打印,那就打印吧。您的方法返回某些内容这一事实并不会使该值被打印出来。实际上,您根本不使用从most()返回的值:

    most(list1);
    

    如果要打印,请使用:

    System.out.println(most(list1));
    

    现在开始学习java

  2. # 2 楼答案

    您可以这样打印到控制台:

    System.out.println(average(list1)); //average should be downcased, it's not a class
    System.out.println(most(list1));
    
  3. # 3 楼答案

    一些变化:

    • 大多数(列表)方法应该是这样的,我认为你的第一个循环是错误的

      public static int most(ArrayList<Integer> input){
          int[] counts = {0,0,0,0,0,0,0,0,0,0};
      
          for(int getal: **input**){
              counts[getal]++;
          }
      
          int max = 0;
          for(int i = 0; i < counts.length; i++){
              if(counts[i]>max){
                  max=i;
              }
          }
      
          return max;
      }
      
    • 要打印,请使用sysout:

      System.out.println(Average(list1));
      System.out.println(most(list1));
      
  4. # 4 楼答案

    下一步请阅读javadoc

    有时,这有助于别人有一个更清晰的名字。 你切换了计数和输入

    int[] countsIndexedByGetal = new int[10]; // All zeero.
    for (int getal: inputs) {
        countsIndexedByGetal[getal]++;
    }