2015届华为校园招聘机试题 java实现

来源:互联网 发布:2048java课设 编辑:程序博客网 时间:2024/05/20 19:32
    第一题(60分):

       按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”


      代码的算法效率可能实在是低,如果写的不好,请给一些好的建议,这是刚写出来的,还没有优化算法。明天再做了。

    具体代码:

    

import java.util.Scanner;public class StringIndictorOutput {public static void main(String []args){System.out.println("请输入你要输入的几个数字:");Scanner scanner1 = new Scanner(System.in);int M = scanner1.nextInt();    System.out.println("请输入你要数字字符串的位数:");Scanner scanner2 = new Scanner(System.in);int N = scanner2.nextInt();for(int i=0;i<M;i++){System.out.println("请输入字符串:");Scanner scanner3 = new Scanner(System.in);String string = scanner3.nextLine();int length = string.length();if(length<N){String str = string;for(int j=0;j<8-length;j++){str+=0;}System.out.println( str);}else if (length==N) {System.out.println(string);}else {int yushu = (int)(length/N);int begin=0,end=N;int h;for(h=0;h<yushu;h++){String string1 = null; string1 = string.substring(begin, end); System.out.println(string1+"      "); begin = begin+N; end = end+N;  }if(h==yushu){ String string2 = null; string2 = string.substring(end-N); System.out.println(string2);}}}}}

 

0 0
原创粉丝点击