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

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

回答の条件
  • 1人2回まで
  • 登録:2007/06/17 23:33:26
  • 終了:2007/06/24 23:35:51

回答(6件)

id:yusukey No.1

yusukey回答回数73ベストアンサー獲得回数22007/06/17 23:45:23

ポイント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

kompiro回答回数15ベストアンサー獲得回数12007/06/17 23:46:15

ポイント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

sjy回答回数15ベストアンサー獲得回数12007/06/18 03:25:25

ポイント18pt

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

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

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

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

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

id:rthuk

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

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

tomo_k回答回数426ベストアンサー獲得回数262007/06/18 06:23:56

ポイント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

lunlumo回答回数107ベストアンサー獲得回数142007/06/18 09:46:35

ポイント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

shampoohat回答回数347ベストアンサー獲得回数02007/06/19 23:35:13

ポイント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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません