一封奇怪的信--网易游戏(互娱)2019年-游戏测试开发工程师真题

package test;

import java.io.IOException;
import java.util.Scanner;

public class RowPadding {
private static int rowCount = 1; // 总行数
private static int count = 0; // 一行的宽度
private static char[] pha = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };

protected static void getValue(char[] ch, int[] padding) {
int index = 0;
for (int i = 0; i < ch.length; i++) {
index = getIndex(ch[i]);
//System.out.print(index + " ");
if (count + padding[index] > 100) {
rowCount++; // 行数加1
count = 0; // 本行统计宽度结束,开始新一行统计
}
count += padding[index];
}
}

// 返回一个字符在字母表中的位置
protected static int getIndex(char ch) {
for (int i = 0; i < 26; i++) {
if (pha[i] == ch)
return i;
}
return -1; // 表示找不到
}

public static void main(String[] args) {
String str = null;
Scanner sc = new Scanner(System.in);
int[] padding = new int[26];
for (int i = 0; i < 26; i++) {
padding[i] = sc.nextInt();
}
//System.out.print("Entry String:");
str = sc.nextLine(); // 吸收回车符
str = sc.nextLine();
char ch[] = str.toCharArray(); // 将字符串转化为字符数组
getValue(ch, padding);
System.out.println(rowCount + " " + count);
sc.close();
}
}

猜你喜欢

转载自www.cnblogs.com/huanghy/p/10499487.html