-2

Barry Burd による初心者向けの Java プログラミングの本である Java for Dummies を読んでいます。よくわからないというか、まったくわかりません。この例は本で見つけました。このプログラムが何をするのか、ソースコードのすべてを説明していただけますか? 本当に知りたいです。

(注: 次の行は実際のコードです!)


import static java.lang.System.out;

public class Employee {
    private String name;
    private String jobTitle;

    public void setName(String nameIn) {
        name = nameIn;
    }

    public String getName() {
        return name;
    }

    public void setJobTitle(String jobTitleIn) {
        jobTitle = jobTitleIn;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void cutCheck(double amountPaid) {
        out printf("Pay to the order of %s ", name);
        out.printf(""(% ***$", jobTitle);
        out.printf("%,.2f\n", amountPaid);
    }

}

最終結果 (プログラムを正常にコンパイルして実行した場合):


Pay to the order of Barry Bird (CEO) ***$5,000.00
Pay to the order of Harriet Ritter (Captain) ****$7,000.00
Pay to the order of Your Name Here (Honorary Exec of the Day) ***$10,000.00

少なくとも、Barry Burd はこれが起こると想定していますが、そうではありません。エラーなしでコンパイルできません。

最良の答えは、いくつかのコメントを追加して上記のソース コードを修正することですが、残念ながら、スタック オーバーフロー アカウントを頻繁にチェックしないため、トップ アンサーがない可能性があります。

4

2 に答える 2

6

ここに2つの引用符が連続しているため、コンパイルされません。

out.printf(""(% ***$", jobTitle);

ここで「アウト」の後にドットがありません:

out printf

コードは、getter と setter を持つ Java クラスです。そして、Java 5 を使用した print メソッド。

それでも問題が解決しない場合は、実際のコンパイラ エラーを投稿してください。そしてすべてのコード。このクラスは明らかに別のクラスから呼び出されています。

于 2012-12-31T23:41:10.017 に答える
1

これをチェックして:

package by.dev.madhead.demo;

import static java.lang.System.out;

public class Employee {
    private String name;
    private String jobTitle;

    public void setName(String nameIn) {
        name = nameIn;
    }

    public String getName() {
        return name;
    }

    public void setJobTitle(String jobTitleIn) {
        jobTitle = jobTitleIn;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void cutCheck(double amountPaid) {
        out.printf("Pay to the order of %s ", name);
        out.printf("(%s)", jobTitle);
        out.printf(" ***$%,.2f\n", amountPaid);
    }

    public static void main(String args[]) {
        Employee e = new Employee();

        e.setName("Drake");
        e.setJobTitle("Programmer");

        e.cutCheck(57005.12);
    }
}
于 2012-12-31T23:46:38.170 に答える