总是在 java 中得到相同的答案
Always getting the same answer in java
任何人都可以向我解释为什么当我 运行 以下代码时我只得到 40 作为答案吗?
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
任何人都可以向我解释为什么当我 运行 以下代码时我只得到 40 作为答案吗?
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