2014年7月华为校招机试第一题答案另解--Java版本
来源:互联网 发布:程序设计基础(c语言) 编辑:程序博客网 时间:2024/04/28 12:11
//上午看到<span class="link_title" sizcache="27" sizset="36"><a target=_blank href="http://blog.csdn.net/lpp0900320123/article/details/38780723">[C/C++]2014年7月华为校招机试真题(一) </a>这篇文章,用Java重写了第一题的解法。也就仅仅是能实现功能,关于效率还没有多想……先拿上来分享一下~</span>
import java.util.ArrayList;import java.util.Scanner;
//题目://按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,//N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”public class Huawei_01 {/* * 字符串数 */private static int M = 0;/* * 字符串位数 */private static int N = 0;//储存输入的字符串ArrayList<String> in = new ArrayList<String>(); ArrayList<String> result = new ArrayList<String>();Scanner sc = new Scanner(System.in);public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入串数:");M = sc.nextInt();System.out.println("请输入位数: ");N = sc.nextInt();Huawei_01 hw = new Huawei_01(M, N);}public Huawei_01(int M , int N) {this.M = M;this.N = N;this.read();this.cut();this.write();}private void read(){for(int i = 0; i<M; i++){int j = i+1;System.out.println("输入第"+j+"个字符串:");in.add(sc.nextLine());}}private void cut(){System.out.println("输入完毕,共有"+in.size()+"个字符串。");for(int j = 0; j<in.size() ; j++){//字符串长度小于等于N时if(in.get(j).length()<=N){for(int k = in.get(j).length(); k < N ; k++){String temp =in.get(j);in.set(j,temp+"0");}result.add(in.get(j));}//字符串长度大于N时else{String tempLongerInN = "";String tempLongerOutN = "";for(int indexOfStrIn = 0; indexOfStrIn < N ; indexOfStrIn++){ tempLongerInN = tempLongerInN+(in.get(j).charAt(indexOfStrIn));}for(int indexOfStrOut = N; indexOfStrOut < in.get(j).length(); indexOfStrOut++){tempLongerOutN = tempLongerOutN+(in.get(j).charAt(indexOfStrOut));}in.add(j+1, tempLongerOutN);result.add(tempLongerInN);}}}private void write(){for(String s : result){System.out.print("\""+s+"\",");}}}
0 0
- 2014年7月华为校招机试第一题答案另解--Java版本
- 2014年7月华为校招机试真题1
- 2014年7月华为校招机试真题2
- 2014年7月华为校招机试真题3
- 2014年7月华为校招机试真题4
- [C/C++]2014年7月华为校招机试真题(一)
- [C/C++]2014年7月华为校招机试真题(二)
- [C/C++]2014年7月华为校招机试真题(一)
- [C/C++]2014年7月华为校招机试真题(一)
- 2013年9月华为上机题
- 2005年11月华为在南邮的招聘笔试题
- 2005年11月华为在南邮的招聘笔试题
- 2013年9月华为成都笔试题 输入字符串计算数值(c语言)
- 2014 8月华为软件类上机笔试
- 2014 8月华为软件类上机笔试题目解答
- 2014校园招聘之一(8月华为机试题)
- 2013年9月华为机试题目
- 2013年9月华为机试题目
- 华为面试题--母串中寻找子串出现的下标
- Session过期,如何跳出iframe框架页的问题
- 读书札记-2013年12月
- DSP6000的几个简单优化技巧
- HDU1087 Super Jumping! Jumping! Jumping! 【DP】
- 2014年7月华为校招机试第一题答案另解--Java版本
- HDU---2036
- 数字信号处理的学习资源
- 仿酷狗音乐播放器开发日志二十五 duilib右键事件的不足的bug修复
- IOS常用CGRect的交错,边缘,中心的检测
- 白话压缩感知(含Matlab代码)
- 颜色矩阵公式总结以及imagetint,greyscale转换
- JS正则从URL获取主域
- Linux内核相关资源和书籍