字符串分割华为java_Java-------华为机试-------字符串分隔

题目描述

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(输入2次,每个字符串长度小于100)

输出描述:

输出到长度为8的新字符串数组

输入例子:

abc

123456789

输出例子:

abc00000

12345678

90000000

解法1:

暴力:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

while (in.hasNext()) {

String str = in.nextLine();

int len = str.length();

int m = len / 8;

// 最少可分割的组数

/* 下面嵌套循环,内层作用位分割为8个一组,外层循环确定组数 , “if”考虑特殊情况 */

for (int i = 0; i <= m; i++) {

if (i * 8 == len) {

// 特殊情况:len=8,16,24……

break;

}

for (int j = 0; j < 8; j++) {

if (i * 8 + j < len)// 判断是否字符串还没输出完

System.out.print(str.charAt(i * 8 + j));

// 没输出完的字符串余下部分继续输出

else {

System.out.print("0");

// 字符串已输出完但是这个子字符串输出位数不足8位的补“0”

}

}

System.out.println();// 换行。

}

}

}

}

解法二:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

while (sc.hasNext()) {

String s = new String(sc.nextLine());

if (s.length() % 8 != 0)

// 如果不是八的倍数,字符串直接加八个“0”,

s = s + "00000000"; // 明显字符串只要八个一组输出就可以啦;

while (s.length() >= 8) {

System.out.println(s.substring(0, 8));

s = s.substring(8);

}

}

}

}

来源:https://www.cnblogs.com/guodao/p/9702515.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值