2017-09-01 6 views
0

シンプルなのは、コンソールのテキスト行を個別に印刷する代わりに、テキストの1行だけを新しい値で更新するか、「置き換える」というコードが必要です。複数ではなく1行で更新するには?

現在のコード:

//this code was expanded into a more configurable version 
//original author is zengr 

public final class EnumRandValue { 

public static final void main(String... aArgs){ 
int min = 12; 
int max = 157; 
int ints = 1000; 
//how many numbers to generate? 

int enumeration = 1; 
int maximumints = 1000; 
//advanced users only! 

log("Generating " + ints + " random integers in range of " + (min-1) + " and " + (max-1) + "."); 

//note a single Random object is reused here 
if(min < max || min != max) { 
Random randomGenerator = new Random(); 
for (int idx = 1; idx <= ints; ++idx){ 
    int randomInt = randomGenerator.nextInt(max); 
    log("E" + enumeration++ + ": " + randomInt); 
    if(enumeration >= maximumints) { 
     String breakmsg = "Exceeded enums limit (" + maximumints + ")."; 
     log(breakmsg); 
     return; 

    } else if(min >= max) { 
    String breakmsg = "Invalid min/max values."; 
    log(breakmsg); 
    return;  

    } else { 
    //really nothing happens here 
    //some code was excluded 
+0

ここに何が期待されますか?あなたが共有しているコードは何ですか/ – nullpointer

+0

'log()'とは何ですか? –

+0

minとmaxを使って乱数のリストを生成するだけです。その出力は次のようになります: '11の範囲の10個のランダムな整数および156 E1の生成:50 E2:15 E3:115 E4:142 E5:133 E6:55 E7:59 E8を:138 E9:134 E10:45' – Icy4614

答えて

0

私はあなたのログ()メソッドは、渡された文字列を出力静的メソッドであると仮定しています。

その場合、forループの最後の行だけを印刷する場合は、印刷前に以下の条件を確認してください。

if(idx==ints) 
log("E" + enumeration++ + ": " + randomInt); 
+0

正しく使用しましたか? 'if(min = maximumints){ \t文字列breakmsg = "Enums Limit(" + maximumints + ")を超えました。 \tログ(breakmsg)。 \t return; ' 最初の列挙を返します – Icy4614

+0

更新されていないようです(または制限/希望量に達するまで常に実行されています)。 – Icy4614

関連する問題