Java 从对数组中选择字符串数组?
我是否可以从成对数组返回字符串数组?我猜这与hashmap有关,因为其中涉及两个值。任何简单的例子加上一些解释都会有帮助:) 正如@dasblinkenlight所指出的,如果输入是(y,3),(t,2),我希望输出为“yPP”,“tP”,其中字符串应该具有给定数值的长度。所以在取了这个字符之后,剩余的长度将由P填充 假设我有静态方法Java 从对数组中选择字符串数组?,java,arrays,Java,Arrays,我是否可以从成对数组返回字符串数组?我猜这与hashmap有关,因为其中涉及两个值。任何简单的例子加上一些解释都会有帮助:) 正如@dasblinkenlight所指出的,如果输入是(y,3),(t,2),我希望输出为“yPP”,“tP”,其中字符串应该具有给定数值的长度。所以在取了这个字符之后,剩余的长度将由P填充 假设我有静态方法 public static Line[] get(Couple[] temp) 我需要完成它,以便我的主要方法将产生以下结果: get (new Couple[
public static Line[] get(Couple[] temp)
我需要完成它,以便我的主要方法将产生以下结果:
get (new Couple[]{new Couple(’e’,4), new Couple(’n’,2)})
应该返回字符串数组
{"ePPP", "nP"}
希望这有帮助:)
稍后,创建一个简单的
Pair[]
,并使用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[] pairArr = new Pair[2];
pairArr[0] = new Pair("Y", 3);
pairArr[1] = new Pair("T", 2);
System.out.println(Arrays.toString(convertPairsToStrArray(pairArr, "P")));
输出:
下面是一个示例转换器实现:
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;
}
私有静态字符串[]convertPairsToStrArray(对[]对,字符串padStr){
字符串[]strArr=null;
if(pairar!=null){
strArr=新字符串[pairar.length];
for(int i=0;i0){
而(j-->0){
某人追加(padStr);
}
}
}
strArr[i]=sb.toString();
}
}
返回斯特拉尔;
}
与许多事情一样,问题包含答案。
创建一个类来保存这些对。向该类添加一个方法,以生成所需的输出。下面是一些代码:
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();
}
}
“成对数组”是什么意思?@arshajii我想他的意思是,但最好确认一下。“成对”可以包装到一个对象中,然后重写
toString()
以获得对象的字符串表示形式,但您的问题不清楚,请编辑
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;
}
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();
}
}
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());
}
}