2016-09-16 7 views
2

生徒の結果を印刷するアプリケーションを作成する必要があります。割り当てでは、すべての行にタブを付けるために、\tを使用する必要があります。システムタブのJavaタブ

for(int i = 0; i< 7; i++) { 
     System.out.println("Vak/Project :" + naamVak[i] + "\t\tCijfer: " + 
     inputCijfer[i] + "\tBehaalde studiepunten: " + studiepuntenVAK[i]); 
    } 

それはプロジェクト(naamVakという配列)、結果(inputCijfer)、そしてどのように多くのポイントは、プロジェクト(studiepuntenVak)あたりに持っているの名前を印刷しません。

私はコンソールに結果を印刷すると、次のように、それは示しています

Vak/Project :Fasten Your Seatbelts  Cijfer: 1.0 Behaalde studiepunten: 0 
Vak/Project :Programming  Cijfer: 2.0 Behaalde studiepunten: 0 
Vak/Project :Databases  Cijfer: 3.0 Behaalde studiepunten: 0 
Vak/Project :Personal Skills  Cijfer: 4.0 Behaalde studiepunten: 0 
Vak/Project :Project Skills  Cijfer: 5.0 Behaalde studiepunten: 0 
Vak/Project :Infrastructure  Cijfer: 6.0 Behaalde studiepunten: 3 
Vak/Project :Network Engineering 1  Cijfer: 7.0 Behaalde studiepunten: 3 

どのように私はすべての正しい行にあるように、出力を作成することができますか?

+3

すでに印刷されている部分の長さを計算し、そこから開始することができます。/tは、前の行または次の行を考慮しません。 – Stultuske

+2

[format](https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#format)を見てください。 -java.lang.String-java.lang.Object ...-)メソッド。 – McDowell

+0

[StringUtils#rightPad](https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringUtils.html)が役立つかもしれません。 –

答えて

0

https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

あなたは、あなたが(構文のようなprintf関数で)String.Formatのメソッドを使用して、幅の値を提供することができますString.Formatの方法

String s1 = String.format("test right alignment: %13s %50s ",'test a short string', 'test a very very very long string'); 
String s2 = String.format("test left aligmnent: %-13s %-50s ",'test a short string', 'test a very very very long string' ); 

System.out.println(s1); 
System.out.println(s2); 
1

を使用することができます。構文はここにある:https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax、あなたは次のように使用できます。

System.out.println(String.format("%20s %20s %20s", naamVak[i], inputCijfer[i], studiepuntenVAK[i])); 

これは、各列

+0

ありがとう、本当にありがとう!私は家に帰るときこれを試してみる。あなたはImが完了したときにあなたにいくつかのフィードバックを与えます。 – Boris

0
System.out.println(String.format("%20s %20s %20s %20s %20s", "Vak/Project: ", naamVak[i], "Cijfer: ", inputCijfer[i], "Behaalde studiepunten: ", studiepuntenVAK[i])); 

のために20文字の最大入力幅を想定してまだユーザーのための奇妙なビューを提供します。これはコンソールの出力です。

Vak/Project: Fasten Your Seatbelts    Cijfer:     8.6 Behaalde studiepunten: 
    Vak/Project:   Programming    Cijfer:     7.5 Behaalde studiepunten: 
    Vak/Project:    Databases    Cijfer:     2.1 Behaalde studiepunten: 
    Vak/Project:  Personal Skills    Cijfer:     2.3 Behaalde studiepunten: 
    Vak/Project:  Project Skills    Cijfer:     2.4 Behaalde studiepunten: 
    Vak/Project:  Infrastructure    Cijfer:     2.5 Behaalde studiepunten: 
    Vak/Project: Network Engineering 1    Cijfer:     2.6 Behaalde studiepunten: 
+0

最初の行と最後の行には20文字以上のエントリが含まれているため、回答を「ポスト・シートベルト」と「ネットワーク・エンジニアリング1」と交換してはいけません。たとえば、「%20s%20s%20s%20s%20s」のように「%20s%30s%20s%20s%20s」のように調整することができます – maslan

関連する問題