当前位置: 代码迷 >> Java相关 >> 程序题请救,有重赏
  详细解决方案

程序题请救,有重赏

热度:139   发布时间:2010-05-11 14:04:33.0
顶楼上
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-11 06:58:32
dadongzicool

等 级:贵宾
威 望:11
帖 子:209
专家分:474
注 册:2009-3-20
  得分:0 
package cn.dadongzicool.chooseNumber;

import java.util.Scanner;
import java.util.Stack;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner reader = new Scanner(System.in);
        Stack<Integer> stack = new Stack<Integer>();
        String num[];
        int tempLen;
        int tempEntry[][];
        System.out.println("请输入整形数字,以任何非数字字符结束输入:");
        
        while(reader.hasNextInt())
        {
            stack.push(reader.nextInt());
        }
        
        tempLen = stack.size();

        num = new String[tempLen];
        tempEntry = new int[tempLen][2];
        
        for(int i = 0;i < tempLen;i++){
            num[i] = stack.pop().toString();
        }
        
        for(int i = 0;i < num.length;i++){
            if(!num[i].equals("")){
                tempEntry[i][0] = Integer.parseInt(num[i]);
            }
            for(int j = i;j < num.length;j++){
                if(!num[j].equals("") && tempEntry[i][0] == Integer.parseInt(num[j])){
                    tempEntry[i][1]++;
                    num[j] = "";
                }
            }
        }
        
        int temp = 0;
        
        if(tempEntry.length > 0){
            temp = tempEntry[0][1];
        }
        
        for(int i = 0;i < num.length;i++){
            if(tempEntry[i][1] > temp){
                temp = tempEntry[i][1];
            }
        }
        
        String bigNum = "";
        
        for(int i = 0;i < num.length;i++){
            if(tempEntry[i][1] == temp ){
                if(bigNum.equals("")){
                    bigNum = tempEntry[i][0] + "";
                }
                if(tempEntry[i][0] > Integer.parseInt(bigNum)){
                    bigNum = tempEntry[i][0] + "";
                }
            }
        }
        System.out.println("重复次数最多且最大的数字为"+bigNum);
    }
}

----------------解决方案--------------------------------------------------------
  相关解决方案