博雅笔试记录:输入最小的数
问题大概描述:从键盘输入一组正整数数组,将它们拼接起来,输出拼接后值最小的那个数:
输入参数:
第一个参数代表数组长度
输入数组数组,用空格分开
输出
一个整数
例子
输入
3
4 43 432
输出
432434
需要掌握的重点:从键盘取得多个数值(死在这块,最后没通过,想哭!!!)
第二:逻辑排序
代码参见:
public class Test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int length;System.out.println("please input the length of arrays:");length=scanner.nextInt();int[] array = new int[length];int index = 0;System.out.println("please input the number in the array(please separate with space):");//获得多行输入的方式,切记!!!while (scanner.hasNext()) {if(scanner.hasNextInt()) array[index++]=scanner.nextInt();if(index>=array.length) break;}//获取数据结束System.out.println((getResultNum(array)));}/**逻辑方法*/public static int getResultNum(int []arr){int result;Liststrs=new ArrayList();for(int num:arr){strs.add(String.valueOf(num));}Collections.sort(strs,new Comparator(){@Overridepublic int compare(String o1, String o2){String s1=o1+o2;String s2=o2+o1;return s1.compareTo(s2);}});StringBuilder sbuilder=new StringBuilder();for(String str:strs){sbuilder.append(str);}result=Integer.parseInt(sbuilder.toString());return result;}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
