Javaで作ってください。プロは10分くらいで出来るはずです。

配列コードでは出来るのですが、そのほかのコードもみたいです。
**********
*********
********
*******
******
*****
****
***
**
*
素晴らしいコードには高ポイントさしあげます

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/06/24 23:35:51
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:yusukey No.1

回答回数73ベストアンサー獲得回数2

ポイント19pt

汎用性よりも必要に応じてリファクタリングすれば良いというポリシーでシンプルに書くことを心がけました。

こんな感じでしょうか。

System.out.println("**********\n*********\n********\n*******\n******\n*****\n****\n***\n**\n*");

id:rthuk

おお、すごい!こんなシンプルな描き方があるとは。

2007/06/18 07:03:02
id:kompiro No.2

回答回数15ベストアンサー獲得回数1

ポイント19pt

こんな感じですか?

public class Asterisk {
	public static void main(String[] args) {
		for(int i = 0; i < 10; i++){
			StringBuilder result = new StringBuilder();
			for (int j = 0; j < 10 - i;j++){
				result.append("*");
			}
			System.out.println(result);
		}

	}
}

id:rthuk

StringBuilderははじめてみましたね。ありがとうございます。

2007/06/18 07:04:53
id:sjy No.3

回答回数15ベストアンサー獲得回数1

ポイント18pt

最初に確認しておきたいことがあります。

もしかして宿題の丸投げではないでしょうか?

これはどのプログラミングの教科書にも出てくる典型問題といわれるものです。

この問題が出てきた単元はプログラミングを習得する過程で必ずマスターすべきところです。そのようなところはあまり多くはないので、本人が本なりネットなりとにらめっこして頑張ってみてはいかがでしょうか。思ったほど難しくはないのですよ。

もし違ったらごめんなさい。回答は他の方がすでに答えているだろうと思いますので割愛させていただきます。

id:rthuk

そういう答えは欄外に書いてください。他の人に失礼です。ひとつの答えは出ましたが10人10様色々なソースがあるはずです。それがみたいのです。

2007/06/18 21:16:25
id:tomo_k No.4

回答回数426ベストアンサー獲得回数26

ポイント18pt
public class Star {
    private static String star = "**********";
	public static void main(String[] args) {
		for (int i = 0; i < star.length(); i++) {
			System.out.println(star.substring(i));
		}
	}
}

こんな感じでどうでしょう。

スピードはまあ配列使った方が速いでしょうね。

id:rthuk

ありがとうございます。

2007/06/20 04:56:04
id:lunlumo No.5

回答回数107ベストアンサー獲得回数14

ポイント18pt

 再帰で書く方法もありますね。

public class Asterisk {
	
	public static void printAsterisk(String asterisk) {
		System.out.println(asterisk);
		if (asterisk.length() > 1) {
			printAsterisk(asterisk.substring(1));
		}
	}
	
	public static void main(String[] args) {
		printAsterisk("**********");
	}
}
id:rthuk

再帰という方法があったのですか。ありがとうございます。

2007/06/18 21:21:58
id:shampoohat No.6

回答回数347ベストアンサー獲得回数0

ポイント18pt
public class hoge {
  public static void main(String[] args) {
    for( int i=66; i>0; i-- )
      System.out.print(  Math.IEEEremainder( Math.sqrt( 8*i + 1 ), 1  ) == 0.0 ? '\n': '*' );
  }
}

他の人と違うのを。

半可通の浮動小数点厨には叩かれそうですが、java.lang.Math を見ると、正しく動くのは保証されるように思います。

id:rthuk

これも初めてみました。ありがとうございます。

2007/06/20 04:55:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません