看着很簡單的一道題弄了好久,一直都是運行錯誤,案例都正確,網上很多解決方法說是因爲代碼考慮的不周全,怎麼都找不着錯,後來 自己一點一點修改代碼,終於發現錯誤。
先貼錯誤代碼
package csp;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class 一20190901 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in1=new Scanner(System.in);
int n = in1.nextInt();
Scanner in2=new Scanner(System.in);
int m = in2.nextInt();
Scanner in3=new Scanner(System.in);
int shuzu[][]=new int[1001][1001];
int number;
int shuzu3[]=new int[1001];
int minus[]=new int[1001];
int p=-1;
int treenumber=0;
for(int i=0;i<1001;i++) {
shuzu3[i]=0;
minus[i]=0;
}
for(int i=0;i<n;i++) {
for(int j=0;j<=m;j++) {
number=in3.nextInt();
shuzu[i][j]=number;
}
}
for(int i=0;i<n;i++) {
for(int j=1;j<=m;j++) {
minus[i]=shuzu[i][j]*(-1)+minus[i];
}
shuzu3[i]=shuzu[i][0]-minus[i];
}
int leftapple=0;
for(int i=0;i<n;i++) {
leftapple=shuzu3[i]+leftapple;
}
int minus2[]=null;
minus2=Arrays.copyOf(minus, minus.length);
Arrays.sort(minus2);
int max=minus2[1000];
for(int i=0;i<n;i++) {
if(minus[i]==max) {
treenumber=i+1;
break;
}
}
System.out.print(leftapple+" "+treenumber+" "+max);
}
}
錯誤點在這
Scanner in1=new Scanner(System.in);
int n = in1.nextInt();
Scanner in2=new Scanner(System.in);
int m = in1.nextInt();
int shuzu[][]=new int[1001][1001];
int number;
Scanner in3=new Scanner(System.in);
用一個scanner輸入就夠了,三個是錯的