gpt4 book ai didi

java - 我如何在同一行java中输出

转载 作者:行者123 更新时间:2023-12-01 22:40:27 25 4
gpt4 key购买 nike

到目前为止我已经完成了所有的代码。它可以运行,我也可以得到我的输出。但我只能得到不同的行输出,我想在同一行中得到输出。有什么办法可以做到这一点。我使用 switch case ,我可以使用 switch case 来做到这一点吗?或者任何其他语句都可以输出它。

public class practice
{
public static void main(String args[])
{
String name="Farhana Konka";
String initials= "";
for(String s: name.split(" "))
{
initials+=s.charAt(0);
}

char[] myInitials=initials.toCharArray();
for(int i=0; i<myInitials.length; i++)
{
switch(myInitials[i])
{
case 'f' :
case 'F' :

System.out.println("FFFFF ");
System.out.println("F ");
System.out.println("F ");
System.out.println("FFF ");
System.out.println("F ");
System.out.println("F ");
System.out.println("F ");
break;
case 'K' :
case 'k' :

System.out.println("K K ");
System.out.println("K K ");
System.out.println("K K ");
System.out.println("KK ");
System.out.println("K K ");
System.out.println("K K ");
System.out.println("K K ");
break;
default:
System.out.print("Nothing happen");
}
}

}
}

它在不同的行中显示输出。但我希望它在同一条线上。如下所示但我只得到不同的行输出。我如何更改我的代码来做到这一点。我尝试过,但没能做到。 enter image description here

最佳答案

您需要比单独处理每个字母更聪明。您需要处理每一行的所有字母!因为您无法追溯修改该行的内容。

因此,不仅仅是大小写切换,您需要将每个字母的各个行存储在数组中,然后处理第一行的缩写,输入新行,处理第二行的缩写,输入新行,等等。

为了写入同一行,您需要使用System.out.print(),但这本身并不能解决您的问题。

编辑:

好吧,我根据我所说的内容将我的版本放在一起,它会打印出以下内容:

FFFFFF   AA   RRRRR  H    H   AA   N    N   AA      K    K  OOOO  N    N K    K   AA   
F A A R R H H A A NN N A A K K O O NN N K K A A
F A A RRRRR HHHHHH A A N N N A A KK O O N N N KK A A
FFFF AAAAAA R R H H AAAAAA N N N AAAAAA K K O O N N N K K AAAAAA
F A A R R H H A A N NN A A K K O O N NN K K A A
F A A R R H H A A N N A A K K OOOO N N K K A A

神奇的线条是这样的:

Map<Character, List<String>> charMap = new HashMap<>();

虽然这可以仅使用字符串数组来完成,但这更容易。

祝你的任务顺利。

编辑2:我讨厌那些限制你如何完成任务的作业,这样你就可以编写更糟糕的代码。

    Map<Character, List<String>> charMap = new HashMap<>();

List<String> listSpace = new ArrayList<>();
listSpace.add(" ");
listSpace.add(" ");
listSpace.add(" ");
listSpace.add(" ");
listSpace.add(" ");
listSpace.add(" ");
charMap.put(' ', listSpace);


List<String> listA = new ArrayList<>();
listA.add(" AA ");
listA.add(" A A ");
listA.add("A A");
listA.add("AAAAAA");
listA.add("A A");
listA.add("A A");
charMap.put('a', listA);

List<String> listF = new ArrayList<>();
listF.add("FFFFFF");
listF.add("F ");
listF.add("F ");
listF.add("FFFF ");
listF.add("F ");
listF.add("F ");
charMap.put('f', listF);

List<String> listR = new ArrayList<>();
listR.add("RRRRR ");
listR.add("R R");
listR.add("RRRRR ");
listR.add("R R ");
listR.add("R R ");
listR.add("R R");
charMap.put('r', listR);

List<String> listH = new ArrayList<>();
listH.add("H H");
listH.add("H H");
listH.add("HHHHHH");
listH.add("H H");
listH.add("H H");
listH.add("H H");
charMap.put('h', listH);

List<String> listK = new ArrayList<>();
listK.add("K K");
listK.add("K K ");
listK.add("KK ");
listK.add("K K ");
listK.add("K K ");
listK.add("K K");
charMap.put('k', listK);

List<String> listN = new ArrayList<>();
listN.add("N N");
listN.add("NN N");
listN.add("N N N");
listN.add("N N N");
listN.add("N NN");
listN.add("N N");
charMap.put('n', listN);

List<String> listO = new ArrayList<>();
listO.add(" OOOO ");
listO.add("O O");
listO.add("O O");
listO.add("O O");
listO.add("O O");
listO.add(" OOOO ");
charMap.put('o', listO);

for(int lineCount = 0; lineCount < 6; lineCount++)
{
for(int i = 0; i < name.length(); i++)
{
Character c = name.charAt(i);
List<String> lineList = charMap.get(c);
String currentLine = lineList.get(lineCount);
System.out.print("" + currentLine);
System.out.print(" ");
}
System.out.println("");
}
}

现在我写了这个:

    String[] arraySpace = new String[]
{
" ",
" ",
" ",
" ",
" ",
" "
};

String[] arrayA = new String[]
{
" AA ",
" A A ",
"A A",
"AAAAAA",
"A A",
"A A"
};

String[] arrayF = new String[]
{
"FFFFFF",
"F ",
"F ",
"FFFF ",
"F ",
"F "
};

String[] arrayR = new String[]
{
"RRRRR ",
"R R",
"RRRRR ",
"R R ",
"R R ",
"R R"
};

String[] arrayH = new String[]
{
"H H",
"H H",
"HHHHHH",
"H H",
"H H",
"H H"
};

String[] arrayK = new String[]
{
"K K",
"K K ",
"KK ",
"K K ",
"K K ",
"K K"
};

String[] arrayN = new String[]
{
"N N",
"NN N",
"N N N",
"N N N",
"N NN",
"N N"
};

String[] arrayO = new String[]
{
" OOOO ",
"O O",
"O O",
"O O",
"O O",
" OOOO "
};

String name = "farhana konka";
name = name.toLowerCase();
for(int j = 0; j < 6; j++)
{
for(int i = 0; i < name.length(); i++)
{
switch(name.charAt(i))
{
case 'a':
System.out.print(arrayA[j]);
break;
case 'f':
System.out.print(arrayF[j]);
break;
case 'r':
System.out.print(arrayR[j]);
break;
case 'n':
System.out.print(arrayN[j]);
break;
case 'o':
System.out.print(arrayO[j]);
break;
case 'k':
System.out.print(arrayK[j]);
break;
case ' ':
System.out.print(arraySpace[j]);
break;
case 'h':
System.out.print(arrayH[j]);
break;
default:
break;
}
System.out.print(" ");
}
System.out.println("");
}
}

输出:

FFFFFF    AA    RRRRR   H    H    AA    N    N    AA        K    K   OOOO   N    N  K    K    AA    
F A A R R H H A A NN N A A K K O O NN N K K A A
F A A RRRRR HHHHHH A A N N N A A KK O O N N N KK A A
FFFF AAAAAA R R H H AAAAAA N N N AAAAAA K K O O N N N K K AAAAAA
F A A R R H H A A N NN A A K K O O N NN K K A A
F A A R R H H A A N N A A K K OOOO N N K K A A

开关盒,耶!它执行完全相同的操作,只不过现在我需要手动执行一些自动执行的操作(按映射中的字符对数组进行索引)。真傻。

关于java - 我如何在同一行java中输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26231770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com