0

必要なのは、中空のダイヤモンドのすべての部分に「HURRICANE」という単語の文字が印刷されるように、コードを少し変更することです

私のコードは次のとおりです。

String st1 = "HURRICANE";
int a = 0;
for (int i = 5; i >= 1; i--) {
    for (int j = 1; j <= 9; j++) {
        if (j == i || (10 - i) == j) {
            System.out.print(st1.charAt(a)); //needs change
        } else {
            System.out.print(' ');
        }
    }
    System.out.println();
}
for (int i = 2; i <= 5; i++) {
    for (int j = 1; j <= 9; j++) {
        if (j == i || (10 - i) == j) {
            System.out.print(st1.charAt(a)); //needs change
        } else {
            System.out.print(' ');
        }
    }
    System.out.println();
}

出力は次のようになります。

    H    
   H H   
  H   H  
 H     H 
H       H
 H     H 
  H   H  
   H H   
    H    

「charAt」ステートメントを少し変更する必要があるため、次のようになります。

    H    
   U U   
  R   R  
 R     R 
I       I
 C     C 
  A   A  
   N N   
    E

印刷明細書はどのように作成すればよいですか?

4

4 に答える 4

0
//: Playground - noun: a place where people can play

import UIKit

var name : String = "HURRICANE"
var dimensions : Int = name.count - 1
var k : Int = 0

for rows in 0...dimensions{
    for columns in 0...dimensions{
        k = abs( (dimensions/2) - rows )

        if columns == k || columns == dimensions - k{
            print(Array(name)[rows], terminator: "")
        }
        else{
            print(" ", terminator: "" )
        }
    }

    print("")
}
于 2018-09-05T08:53:35.053 に答える
0
String st1 = "HURRICANE";
int a = 0;
for (int i = 5; i >= 1; i--) {
    for (int j = 1; j <= 9; j++) {
        if (j == i || (10 - i) == j) {
            System.out.print(st1.charAt(5 - i));
        } else {
            System.out.print(' ');
        }
    }
    System.out.println();
}
for (int i = 2; i <= 5; i++) {
    for (int j = 1; j <= 9; j++) {
        if (j == i || (10 - i) == j) {
            System.out.print(st1.charAt(3 + i));
        } else {
            System.out.print(' ');
        }
    }
    System.out.println();
}
于 2014-11-08T21:29:18.633 に答える