杭电ACM1004题,let the balloon rise java,测试用例能通过,提交总是wrong answer,求指点(Java版)。

import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Scanner;
class Balloon {
public static void main(String[] args) {
HashMap<String, Integer> hm=new HashMap<String, Integer>();;
Scanner input = new Scanner(System.in);
int number = 0, max = 0, i = 0;

String key=null;
String result = null;

while ((number = input.nextInt())!=0) {

hm.clear();
for (i = 0; i < number; i++) {
key = input.next();
if (!hm.containsKey(key))
hm.put(key, 1);
else {
hm.put(key, hm.get(key) + 1);
}
}
max = 0;

for (Entry<String, Integer> entry : hm.entrySet()) {
if (entry.getValue() > max) {
result = entry.getKey();
if (result != null)
max = entry.getValue();
}
}
System.out.println();
System.out.print(result);

}
input.close();
}
}

你好,杭电上java代码有要求的。

java代码的类必须叫Main,而你的是Ballon。改过就好了。

还有这题输出的时候System.out.println(result);就好了,不能分开。

改正后AC代码:

import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Scanner;
class Main {
 public static void main(String[] args) {
  HashMap<String, Integer> hm=new HashMap<String, Integer>();;
  Scanner input = new Scanner(System.in);
  int number = 0, max = 0, i = 0;
  
  String key=null;
  String result = null;
  
  while ((number = input.nextInt())!=0) {  
    
   hm.clear(); 
   for (i = 0; i < number; i++) {    
    key = input.next();
    if (!hm.containsKey(key))
     hm.put(key, 1);
    else {
     hm.put(key, hm.get(key) + 1);
    }
   }
   max = 0;
   
   for (Entry<String, Integer> entry : hm.entrySet()) {
    if (entry.getValue() > max) {
     result = entry.getKey();
     if (result != null)
      max = entry.getValue();
    }
   }
   System.out.println(result);  
  
  }
  input.close();
 }
}

温馨提示:内容为网友见解,仅供参考
无其他回答

...rise java,测试用例能通过,提交总是wrong answer,求指点(Java版...
你好,杭电上java代码有要求的。java代码的类必须叫Main,而你的是Ballon。改过就好了。还有这题输出的时候System.out.println(result);就好了,不能分开。改正后AC代码:import java.util.HashMap;import java.util.Map.Entry;import java.util.Scanner;class Main { public static void main(String[]...

求大神指点,杭电acm1004为什么我的结果是Wrong Answer!
include <stdio.h>#include <string.h>#define MAX 1000typedef struct balloons {char color[16];int count;}balloons;int main(int argc, char *argv[]) {int T,n,m,i,j,flag;balloons a[MAX] = {"",0};char blln[16];scanf("%d",&T);while(T--) {m = 0;scanf("%d",&n...

杭电1004,Let the Balloon Rise 很郁闷啊,不知道错在哪儿
5 blue blue red red red 第二个颜色即blue会因为clr[j][0] = '\\0'语句而变成了'\\0',又因为for(i=0; i<n && clr[i][0]!='\\0'; i++)语句,i=1时立即停止运行。结果是blue,但正确的结果应该是red.include<stdio.h> include<string.h> int main(void){ int n,i,j,max,sum...

杭电1004,Let the Balloon Rise 很郁闷,不知道错在哪儿
5 blue blue red red red 第二个颜色即blue会因为clr[j][0] = '\\0'语句而变成了'\\0',又因为for(i=0; i<n && clr[i][0]!='\\0'; i++)语句,i=1时立即停止运行。结果是blue,但正确的结果应该是red.include<stdio.h> include<string.h> int main(void){ int n,i,j,max,sum...

相似回答