无论如何我可以从一对数组中返回一个字符串数组吗?我猜它与hashmap有关,因为涉及两个值。任何带有一些解释的简单例子都会有所帮助:)
正如@dasblinkenlight指出的那样,如果输入是(y,3),(t,2)并且我希望输出为“yPP”,“tP”,其中字符串应该具有给定数值的长度。拍摄角色后,剩余的长度将由P填充。
假设我有静态方法,
public static Line[] get(Couple[] temp)
我需要完成它,以便我的main方法产生以下结果:
get (new Couple[]{new Couple(’e’,4), new Couple(’n’,2)})
应该返回字符串数组
{"ePPP", "nP"}
希望这会有所帮助:)
答案 0 :(得分:1)
class Pair{
public Pair(String st1,String st2){
string1=str;
string2=str;
}
private String string1;
private String string2;
// + getters and maybe setters for strings;
}
稍后创建简单的Pair[]
并执行任何您想要的操作
答案 1 :(得分:1)
将Pair
类实现为
class Pair {
private final String s;
private final int i;
public Pair(String s, int i){
this.s = s;
this.i = i;
}
public String getS() {
return s;
}
public int getI() {
return i;
}
}
初始化Pair[]
并调用转换器方法
Pair[] pairArr = new Pair[2];
pairArr[0] = new Pair("Y", 3);
pairArr[1] = new Pair("T", 2);
System.out.println(Arrays.toString(convertPairsToStrArray(pairArr, "P")));
输出:
[YPP, TP]
以下是转换器实现示例:
private static String[] convertPairsToStrArray(Pair[] pairArr, String padStr) {
String[] strArr = null;
if (pairArr != null) {
strArr = new String[pairArr.length];
for (int i = 0; i < pairArr.length; i++) {
String s = pairArr[i].getS();
StringBuilder sb = new StringBuilder();
if (s != null) {
sb.append(s);
int j = 0;
if ((j = pairArr[i].getI() - s.length()) > 0) {
while (j-- > 0) {
sb.append(padStr);
}
}
}
strArr[i] = sb.toString();
}
}
return strArr;
}
答案 2 :(得分:0)
与许多事情一样,问题包含答案。 创建一个类来保存对。向该类添加一个方法,以生成所需的输出。这是一些代码:
Pairzor.java:
public class Pairzor
{
private final static char FILL_CHARACTER = 'P';
private final char theChar;
private final int theCount;
public Pairzor(
final char newChar,
final int newCount)
{
theChar = newChar;
theCount = newCount;
}
public final String blammy()
{
StringBuilder buffer = new StringBuilder();
buffer.append(theChar);
for (int count = 1; count < theCount; ++count)
{
buffer.append(FILL_CHARACTER);
}
return buffer.toString();
}
}
Main.java
public class Main
{
/**
* @param args
*/
public static void main(String[] args)
{
Pairzor one = new Pairzor('y', 3);
Pairzor two = new Pairzor('t', 2);
System.out.println(one.blammy());
System.out.println(two.blammy());
}
}