想家了吗~ 2023-03-11 14:57 采纳率: 100%
浏览 18
已结题

为什么程序卡了,在输出里有问题

我仅仅改动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]);}
}
  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-03-11 15:26
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    根据您提供的代码和输入数据,没有看到明显的问题导致程序崩溃或卡住。
    ·
    然而,您提到了在 show() 方法中更改了输出语句,导致程序不能运行。如果您可以提供更改后的 show() 方法代码和错误信息,我们或许可以更好地帮助您解决问题。
    ·
    此外,如果程序在输出中出现问题,您可以通过添加打印语句或者调试器来找到程序中的错误或瓶颈,以便更好地进行故障排除。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭