这道题的核心在subString
注意数组越界问题
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while(in.hasNext()){ String line = in.nextLine(); int len = line.length(); if (len > 8){ int sub = len % 8 == 0 ? len / 8 : len / 8 + 1; for(int i=0;i<sub;i++){ int start = i * 8; int end = ((i + 1) * 8 ) > len ? len : ((i + 1) * 8); String result = line.substring(start,end); if (result.length() < 8){ int value = 8 - result.length(); for(int j = 0;j< value;j++){ result += "0"; } } System.out.println(result); } } else if (len < 8){ int value = 8 - len; for(int i = 0;i< value;i++){ line += "0"; } System.out.println(line); } else{ System.out.println(line); } } } }