Java ArrayList:利用ArrayList打印消息

时间:2014-11-25 17:44:53

标签: java arraylist

在我的Java程序中,我有一个ArrayList。我想要做的是在底部打印一个数字,表示'x已经过了多少人'

System.out.println = ("The amount of people that have more than 40 marks is " + x);

如果使用ArrayList输入了不确定的标记数量,是否可以计算出多少个标记数将超过40?

public class test {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    ArrayList<Integer> marks = new ArrayList<Integer>();

    Scanner input = new Scanner(System.in);
    // Create a new scanner to use in java

    int[] range  =  { 0,29,39,69,100 };
    // A new array is created with the grade boundaries
    int[] inRange = new int[boundary.length - 1];
    // Indexed from 0 to n-1

    int markIn;
    // New integer markIn
    do {
    // This do-while loop calculates the expression after the statements below are exectued at least once
        System.out.println("Enter Mark(s):");
        // Wait for user input
        markIn = input.nextInt();       
        // markInp value is set as the value entered by user
        marks.add(markIn);

        for (int a=1 ; a<boundary.length ; a++)
        // for loop will take the variable 'a' and compare it with varibale 'boundary', when the condition is satisfied that value of 'a' increments by 1
           if (range[a-1] <= markInp && markInp <= range[a]) {
           // The boundaries will define the upper and lower limits of the markInp
               inRange[a-1]++;
               //inRange is incremented by 1
               break;
               //Exit if
           }
    } while (markIn <= 100);
    // When the mark exceeds 100, the loop is stopped

    System.out.println(marks);

    input.close();
}   // Close the Scanner input
}

2 个答案:

答案 0 :(得分:0)

如果数组已经排序,就像您在示例中显示的那样,那么您只需要从开始查看特定分数的位置进行简单搜索,然后获取数组的长度并减去元素的位置。来自你的搜索。

如果数组未排序,请对其进行排序,然后进行搜索。

答案 1 :(得分:0)

您可以执行以下操作:

int result = 0;

if(marks != null)
{
    Collections.sort(marks);
    for(int i=0;i<marks.size();i++)
    {
        if(marks.get(i) > 40)
        {
            result = marks.size() - i;
            break;
        }
    }
}

标记是arraylist,结果是所需的输出。