我仅仅改动show()中的print就使其不能运行了,原来是System.out.println(name+","+ct+","+qiu());
(都是英文字符)
其它地方都是正确的
输入数据是
a5
SUI
92 35 100 7 65 6
65 90 4 78 43 45
61 5 35 51 52 62
a1
DEN
73 54 94 64 39 38
63 35 48 61 91 52
40 68 47 59 82 30
a9
CHN
49 62 78 84 79 37
52 5 38 14 33 39
13 44 13 25 87 42
a12
JPN
61 13 75 51 89 35
89 85 33 6 62 8
60 50 55 54 24 9
a6
USA
99 52 8 48 47 9
85 37 64 22 26 7
36 29 41 67 89 81
a4
GER
5 68 66 34 32 17
48 50 71 51 37 65
59 28 51 28 64 86
a11
USA
64 41 9 14 96 94
29 89 33 20 60 13
22 88 28 36 74 28
a3
AUS
86 48 70 19 1 38
17 14 89 74 81 40
56 39 42 71 47 47
a8
CHN
18 71 46 78 51 23
94 77 85 76 90 7
59 46 66 59 63 29
a10
GBR
6 80 41 64 47 56
0 5 68 77 95 6
85 33 96 97 72 31
a2
ISL
95 96 11 44 12 41
36 6 68 71 89 7
31 41 16 3 82 35
a7
SWE
9 77 79 93 21 93
88 24 92 55 56 56
97 27 27 13 98 15
package sy3_2;
import java.util.Scanner;
import com.sun.tools.javac.Main;
public class xuanshou {
public static Scanner reader=new Scanner(System.in);
public static void main(String[] args) {
// TODO 自动生成的方法存根
int i=0;
ren x[]=new ren[12],t=new ren();
for(i=0;i<12;i++) x[i]=new ren();
for(i=0;i<12;i++) {
x[i].ren();
}
for(i=0;i<11;i++) {
if(x[i].qiu()<x[i+1].qiu()) {
t=x[i];x[i]=x[i+1];x[i+1]=t;i=-1;
} }
for(i=0;i<11;i++) {
if((x[i].qiu()==x[i+1].qiu())&&(x[i].name.compareTo(x[i+1].name)>0))
{
t=x[i];x[i]=x[i+1];x[i+1]=t;i=-1;}
}
for(i=0;i<12;i++)
{x[i].show();
}
}
}
class ren{
String name,ct;
int a[]=new int[6], b[]=new int[6],
c[]=new int[6];
ren(){};
void ren() {
int i=0;
Scanner reader=xuanshou.reader;
name=reader.next();
ct=reader.next();
for(i=0;i<6;i++)
a[i]=reader.nextInt();
for(i=0;i<6;i++)
b[i]=reader.nextInt();
for(i=0;i<6;i++)
c[i]=reader.nextInt();
}
double qiu() {
int i=0;
int t=0,sa=0,sb=0,sc=0,min=0,s=0;
for(i=0;i<5;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;i=-1;}
for(i=0;i<5;i++)
if(b[i]>b[i+1])
{t=b[i];b[i]=b[i+1];b[i+1]=t;i=-1;}
for(i=0;i<5;i++)
if(c[i]>c[i+1])
{t=c[i];c[i]=c[i+1];c[i+1]=t;i=-1;}
for(i=1;i<5;i++) {
sa+=a[i];
sb+=b[i];
sc+=c[i];
}
if(sa>sc) {t=sa;sa=sc;sc=t;}
if(sa>sb) {t=sa;sa=sb;sb=t;}
if(sb>sc) {t=sb;sb=sc;sc=t;}
s=sc+sb;
return s/4.0;
}
void show()
{System.out.printf("%s,%s,%lf\n",name,ct,qiu());}
void show2()
{int i=0;for(i=0;i<6;i++)
System.out.printf("%.2f %.2f %.2f**\n",a[i],b[i],c[i]);}
}