現在javaの課題に取り組んでいます。内容は配列を用意し最小値、最大値、平均を求め、後に昇順にソートするというプログラムです。実行結果は正常ですが、もっと効率が出来ないか考えています。
import java.io.*;
import java.util.Arrays;
class Stat1
{
static void disp_all_data( int[] adata )
{
System.out.print("[ ");
for( int i = 0; i < adata.length-1; i++ )
System.out.print( adata[i] + ", ");
System.out.print( adata[adata.length-1] );
System.out.println(" ]");
}
// メソッドを使って平均値を求める
/static float average( int[] adata )
{
return average;
}/
public static void main(String[] args) throws IOException
{
int datanum;
int[] data;
int min, max;
float sum, ave;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("処理するデータの個数を入力して下さい。");
datanum = Integer.parseInt(br.readLine());
System.out.println( datanum +"個のデータを入力して下さい。");
data= new int [datanum];
sum=0;
for(int i=0;i<data.length;i++)
{
data[i]=Integer.parseInt(br.readLine());
sum=sum+data[i];
}
System.out.println("入力された配列データ:");
disp_all_data(data);
min=data[0];
max=data[0];
ave=0;
for(int i=0;i<data.length;i++)
{
if(max<data[i])
{
max=data[i];
}
if(min>data[i])
{
min=data[i];
}
}
ave=sum/datanum;
System.out.println("最小値:"+ min +"、最大値:"+ max +"、平均値:"+ ave);
Arrays.sort(data);
System.out.println("ソート後の配列データ:");
disp_all_data(data);
}
}
回答4件
あなたの回答
tips
プレビュー