- PR -

String.formatを動作させることが出来ない

投稿者投稿内容
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2007-09-20 19:26
msoです。

javaについてあまり経験が無いため、いろいろと
検討をしたのですがサンプルのプログラムを動作させることが
出来ませんでした。

String.format(format,args)について、サンプルを作っていたのですが、
動作させることが出来ません。
何がおかしいのかご指摘ください。

環境はjre1.5、jre1.6でテストしています。
よろしくお願いします。

コード:
public class Test001 {

    /**
     * @param args
     */
    public static void main(String[] args) {

        for(int i=1;i<10;i++) {
            for(int j=1;j<10;j++) {
                System.out.print(String.format("%4d", i*j));
            }
            System.out.println("");
        }
        
    }
}


あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-09-20 19:55
・何を検討したのか具体的に書かれていない
・最終的にやりたいことが書かれていない
・現時点で何が問題なのかが書かれていない

という状態では答えようがありません。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-09-20 20:05
提示のコードをコンパイルして実行しました。
コンパイルエラーは発生しませんでしたし、実行時エラーもありませんでした。
出力結果は以下のとおりでした。
コード:
   1   2   3   4   5   6   7   8   9
   2   4   6   8  10  12  14  16  18
   3   6   9  12  15  18  21  24  27
   4   8  12  16  20  24  28  32  36
   5  10  15  20  25  30  35  40  45
   6  12  18  24  30  36  42  48  54
   7  14  21  28  35  42  49  56  63
   8  16  24  32  40  48  56  64  72
   9  18  27  36  45  54  63  72  81


何が問題なのかわかりません。
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2007-09-21 11:19
msoです。

引用:

nagiseさんの書き込み (2007-09-20 20:05) より:
提示のコードをコンパイルして実行しました。
コンパイルエラーは発生しませんでしたし、実行時エラーもありませんでした。
出力結果は以下のとおりでした。
コード:
   1   2   3   4   5   6   7   8   9
   2   4   6   8  10  12  14  16  18
   3   6   9  12  15  18  21  24  27
   4   8  12  16  20  24  28  32  36
   5  10  15  20  25  30  35  40  45
   6  12  18  24  30  36  42  48  54
   7  14  21  28  35  42  49  56  63
   8  16  24  32  40  48  56  64  72
   9  18  27  36  45  54  63  72  81


何が問題なのかわかりません。



自分の環境では
コード:
System.out.print(String.format("%4d", i*j));


の部分で
コード:
Exception in thread "main" java.lang.Error: コンパイル問題が未解決です。
	型 String のメソッド format(String, Object[]) は引数 (String, int) に適用できません。



というエラーが表示されます。
環境面の問題という気がしているのですが、
具体的に何の設定が分からなく悩んでいます。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-21 11:43
コンパイラがJDK1.4(モードが・・・?)の予感がします。
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2007-09-21 11:59
msoです。

引用:

かつのりさんの書き込み (2007-09-21 11:43) より:
コンパイラがJDK1.4(モードが・・・?)の予感がします。



ご指摘ありがとうございます。
JDK1.4をインストールした記憶がないため、
チェックしていませんでした。

OSはWindowsXP SP2を使っています。
コントロールパネルをみたところJDK1.4は見つかりませんでした。
また、Eclipseで開発をしてるのですが、
ショートカットをみると
コード:
C:\oss\eclipse32\eclipse.exe -vm "C:\Program Files\Java\jdk1.5.0_12\bin\javaw.exe"


コード:
C:\Program Files\Java\jdk1.5.0_12\bin>java -version
java version "1.5.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) Client VM (build 1.5.0_12-b04, mixed mode, sharing)



となっているため、JDK1.4を使っていないと思います。

何か他に怪しいところ、チェックの仕方等があれば
教えてください。

よろしくお願いします
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-21 12:32
コンパイラの準拠レベルの話です。
プロジェクトを右クリックして、「Javaコンパイラ」を見てください。
多分1.4になっているはずです。

クラスライブラリは5や6でもコンパイラを1.4として使うのは可能ですので。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-09-21 12:42
EclipseではJDKのコンパイラは使われていません。
かつのりさんの書かれている「準拠レベル」に応じて、Eclipseが独自にコンパイルしています。

スキルアップ/キャリアアップ(JOB@IT)