0

このコードはコンパイル中にエラーを引き起こしています...私は何が間違っているのかわかりませんか?

CoinFlippingContest.java:27: cannot resolve symbol
symbol : method printf (java.lang.String,int,int)
location: class java.io.PrintStream
System.out.printf(" %d \t %d",(i+1),frequency[i]);
       ^
1 error

すべてがJava1.4.2である必要があります。コードは次のとおりです。

//IMPORT JAVA UTILITIES AND IO
import java.io.*;
import java.util.*;
//DEFINE CLASS
public class CoinFlippingContest
{
public static void main( String args[] )
{
//GENERATES RANDOM NUMBER
Random randomNumbers = new Random(); 

int[] frequency = new int[10];
for(int i=0; i<10; i++)
frequency[i]=0;

int number;

//RESULTS FOR 6000
for ( int col = 1; col <= 6000; col++ )
{
number = 1 + randomNumbers.nextInt( 10 );
frequency[number]++;
}
//DISPLAY THE HEADINGS
System.out.println( "number\tFrequency" ); 
for(int i=0; i<10; i++)
System.out.printf(" %d \t %d",(i+1),frequency[i]);

//NUMBER OF HEADS AND TAILS IN TOTAL
int even = 0, odd = 0;
for(int i=0; i<10; i++)
{
if(i%2==0)
odd +=frequency[i];
else even += frequency[i];
}
//OUTPUT NUMBER OF HEADS AND TAILS EVEN AND ODDS
System.out.println("\nheads: "+even+"\ntails: "+odd);
}
}
4

3 に答える 3

2

エラーメッセージが示すとおり、Java1.4.2はのprintf方法PrintStreamsはありません。現在のJavaDocsは、Java1.5PrintStream#printf()で追加されたことを示しています。

最新バージョンのJava(1.4は10年以上前のもの)を使用するか、。以外の方法を使用してprintf()ください。

于 2013-01-11T03:26:02.713 に答える
2

printfバージョン1.5以降でのみ使用可能であり、1.4.2ではまだ使用できません。あなたが尋ねているので(コメントを参照)、これは次のようになります:

for(int i = 0; i < 10; i ++)
{
    System.out.println((i + 1) + "\t" + frequency[i]);
}
于 2013-01-11T03:26:26.940 に答える
1

printfはPrintStream1.4.2APIに含まれていません。

http://docs.oracle.com/javase/1.4.2/docs/api/java/io/PrintStream.html

ただし、たとえば、1.5 API(またはそれ以降)では

http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html

于 2013-01-11T03:27:50.247 に答える