百度的一到算法i题

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package maxint;

class MaxArray {

int arrayone[];
int arraylenght[];
int arrayend[];
int arrayfour[];

public MaxArray() {
}

public MaxArray(int i) {
arrayone = new int[i];
arraylenght = new int[i];
arrayend = new int[i];
arrayfour = new int[i];
for (int j = 0; j < i; j++) {
arrayone[j] = (int) (Math.random() * 100);
arraylenght[j] = 0;
arrayend[j] = arrayone[j];
System.out.print(arrayone[j]+" ");
}
System.out.print("\n");
}

public void findlenght() {
int max = 0, i = 0;
for (i = 0; i < arrayone.length; i++) {
arraylenght[i] = String.valueOf(arrayone[i]).length();
}
for (i = 0; i < arraylenght.length; i++) {
if (max < arraylenght[i]) {
max = arraylenght[i];
}
}
System.out.println("整理后为:");
for (i = 0; i < arraylenght.length; i++) {
arraylenght[i] = max - arraylenght[i];
for (int j = arraylenght[i]; j > 0; j--) {
arrayend[i] = arrayend[i] * 10;

} System.out.print(arrayend[i]+" ");
}
max = 0;
int maxarray = 0;
//每次取出其中最大的一个,把下标存入arrayfour[]数组,另最大的为0,继续,直至全部取出。
for (int j = 0; j < arrayend.length; j++) {
for (i = 0; i < arrayend.length; i++) {
if (max < arrayend[i]) {
max = arrayend[i];
arrayfour[j] = i;
maxarray = i;//记录最大的下标;
}
}
arrayend[maxarray] = -1;//令最大为-0;
max= 0;

}
System.out.println("\n下标为:");
for ( i = 0; i < arrayone.length; i++) {
System.out.print(arrayfour[i]+" ");


System.out.println("\n整数为:");
for ( i = 0; i < arrayone.length; i++) {
System.out.print(arrayone[arrayfour[i]]+" ");

}}

/**
*
* @author Administrator
*/
public class MaxInt {

/**
*
*/
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
MaxArray ma=new MaxArray(10);
ma.findlenght();
// TODO code application logic here
}
}

原文地址:https://www.cnblogs.com/xiekai/p/3486737.html