总是在 java 中得到相同的答案

Always getting the same answer in java

任何人都可以向我解释为什么当我 运行 以下代码时我只得到 40 作为答案吗?

View problem in code coach

    import java.util.*;
    public class Program
    {
        public static void main(String[] args) {
            Scanner var = new Scanner (System.in);
            String n = var.nextLine();
            int p = var.nextInt();
            String[] a = var.nextLine().split(" ");
            List<String> list = new ArrayList<String>();
            for(int i=0;i<a.length;i++){
                list.add(a[i]);
            }
            list.add(n);
            Collections.sort(list);
            int y = list.indexOf(n)+1;
            if(y>p){
                System.out.print(((y/p)*20)+(y%p)*20);
            }
            else{
                System.out.print("20");
            }
        }
    }

nextInt() 无法读取换行符。因此,当您使用 nextLine() 时,它会读取该换行符。 This answer might help you