这里是一个java代码,它打印一个彼此相同的三角形, 命名为A,B,C,D;我的问题是如何在* 同一级别打印它们 *
public class ex_5_10 {
public static void main(String args[]){
// (A)
System.out.println("(A)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 0 ; column < 10 ; column++){
if(column > row) continue ;
System.out.print("*");
}
System.out.println() ;
}
//*********************************
// (B)
System.out.println("(B)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 0 ; column < 10 ; column++){
if(column < row) continue ;
System.out.print("*");
}
System.out.println() ;
}
//********************************
//(C)
System.out.println("(C)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 0 ; column < 10 ; column++){
if( column < row ) System.out.print(" ") ;
else System.out.print("*");
}
System.out.println() ;
}
// (D)
System.out.println("(D)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 10 ; column >= 0 ; column--){
if( column > row ){ System.out.print(" ") ; }
else {System.out.print("*"); }
}
System.out.println() ;
}
}
}
所以上面的java代码将打印出来:
*
**
***
***
**
*
***
**
*
*
**
***
现在我需要在同一水平上打印相同的数字!
* *** *** *
** ** ** **
*** * * ***
请帮帮我! 我正在寻找你的答案! 提前谢谢
答案 0 :(得分:5)
为什么你不想这样打印?
System.out.println("* *** *** *") ;
System.out.println("** ** ** **") ;
System.out.println("*** * * ***") ;
更新:好的。
如果这是循环的作业。只需创建矩阵(数组数组)并按矩阵的指定元素进行打印。
然后逐行打印矩阵。
您应该为每个打印周期使用偏移。 Fox的例子,伪代码中的第二个(不是java代码!):
//*********************************
// (B)
matrix[0][offset] = "B";
for(int row = 0 ; row < height ; row++){
for(int column = 0 ; column < width ; column++){
if(column < row) continue ;
matrix[row][column+offset] = "*";
}
}
offset += width + space_length;
答案 1 :(得分:3)
你也可以尝试这样的事情:
for(int row = 0 ; row < 10 ; row++){
// A
for(int column = 0 ; column < 10 ; column++){
if(column > row) continue ;
System.out.print("*");
}
System.out.print(" ");
// B
for(int column = 0 ; column < 10 ; column++){
if(column < row) continue ;
System.out.print("*");
}
System.out.print(" ");
// C
for(int column = 0 ; column < 10 ; column++){
if( column < row ) System.out.print(" ") ;
else System.out.print("*");
}
System.out.print(" ");
//D
for(int column = 0 ; column < 10 ; column++){
if(column > row) continue ;
System.out.print("*");
}
System.out.println() ;
}
也许你可以通过将4个内部循环更改为一个循环来简化它。但这是你的功课......
答案 2 :(得分:2)
对此没有单行答案。
您需要记住,当您致电println()
时,字符串末尾会有换行符输出,因此该行上不会再显示任何内容。
考虑到这一点,您需要拆分逻辑,以便首先汇编各种“数字”的输出,然后一旦处理完毕,您就结果的方式是有意义的(所以每个字符的第一行,然后是第二行等)。不是在处理每个数字时调用print,而是将结果放入适当的数据结构中。
对于奖励标记,当提供足够的数据以跨越显示器的宽度时,您需要自动换行...
答案 3 :(得分:2)
enter code hereclass y{
public static void main(String args[])
{
for(int x=1;x<=3;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print("*");
}
for(int sp1=1;sp1<=(4-x);sp1++)
{
System.out.print(" ");
}
for(int se=1;se<=(4-x);se++)
{
System.out.print("*");
}
for(int sp2=1;sp2<(2*x);sp2++)
{
System.out.print(" ");
}
for(int p=1;p<x;p++)
{
System.out.print(" ");
}
for(int stt=1;stt<=(4-x);stt++)
{
System.out.print("*");
}
for(int spth=1;spth<=(4-x);spth++)
{
System.out.print(" ");
}
for(int stfr=1;stfr<=x;stfr++)
{
System.out.print("*");
}
System.out.print("\n");
}
}
}
答案 4 :(得分:1)
如果您想要使用结果,您可以执行以下操作:(这是一项功课)
您可以注意到,在循环中存在以下条件:
if(column < row) continue ; System.out.print("*");
if(column < row) continue ; System.out.print("*");
if( column < row ) System.out.print(" ") ; else
是System.out.print( “*”);
if( column > row ){ System.out.print(" ") ; } else
是System.out.print {( “*”); }
只需混合并重新安排它们,看看即将到来的结果。
并且还为行的一个循环内部的列移动循环的内部,并向列添加偏移量。
这次你需要使用一个循环块,而不是4个。
玩得开心。
答案 5 :(得分:0)
您可以将所有不同数字的代码放在同一个循环中,然后在每个数字之间放置计算空格。找出数字之间的空间模式。
答案 6 :(得分:0)
您可以为行的一个循环内的列移动内部for循环,并向列添加偏移量。内部if的逻辑将全部为列 - 偏移。
答案 7 :(得分:0)
public class ex_5_10 {
public static void main(String args[]){
// (A)
System.out.println("(A)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 0 ; column < 10 ; column++){
if(column > row) continue ;
System.out.print("*");
}
System.out.print() ;
}
//*********************************
// (B)
System.out.println("(B)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 0 ; column < 10 ; column++){
if(column < row) continue ;
System.out.print("*");
}
System.out.print() ;
}
//********************************
//(C)
System.out.println("(C)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 0 ; column < 10 ; column++){
if( column < row ) System.out.print(" ") ;
else System.out.print("*");
}
System.out.print() ;
}
// (D)
System.out.println("(D)") ;
for(int row = 0 ; row < 10 ; row++){
for(int column = 10 ; column >= 0 ; column--){
if( column > row ){ System.out.print(" ") ; }
else {System.out.print("*"); }
}
System.out.print() ;
}
}
答案 8 :(得分:0)
代码
public class Main {
public static void main(String[] args) {
for(int line = 1 ; line<=3; line++){
for(int patternOne=1; patternOne<=line; patternOne++ ){
System.out.print("*");
}
for(int space=3; space>=line; space--){
System.out.print(" ");
}
for(int patternTwo=3; patternTwo>=line; patternTwo--){
System.out.print("*");
}
for(int space=1; space<=(line*2)-1; space++){
System.out.print(" ");
}
for(int patternThree=3; patternThree>=line; patternThree-- ){
System.out.print("*");
}
for(int space=3; space>=line; space--){
System.out.print(" ");
}
for(int patternFour=1; patternFour<=line; patternFour++){
System.out.print("*");
}
System.out.println();
}
}
}
输出
* *** *** *
** ** ** **
*** * * ***
答案 9 :(得分:-1)
int rows = 10;
for(int i=0; i<rows ; i++)
{
for (int j = 0; j <i; j++) {
System.out.print("*");
}
System.out.println();
}