java编写程序实现以下功能
(1)产生5000个1~9999之间的随机整数,并将其存入文本文件a.txt中。(2)从文件中读取这五千个整数,并计算其最大值、最小值、平均值。急——...
(1)产生5000个1~9999之间的随机整数,并将其存入文本文件a.txt中。
(2)从文件中读取这五千个整数,并计算其最大值、最小值、平均值。
急—— 展开
(2)从文件中读取这五千个整数,并计算其最大值、最小值、平均值。
急—— 展开
2个回答
展开全部
/*
(1)产生5000个1~9999之间的随机整数,并将其存入文本文件a.txt中。
(2)从文件中读取这五千个整数,并计算其最大值、最小值、平均值。
*/
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) {
String fileName = "a.txt";
WriteData(5000, fileName);
ReadData(fileName);
}
//产生num个1~9999之间的随机整数,并将其存入fileName文件
public static void WriteData(int num, String fileName){
try{
Writer fw = new FileWriter(fileName);
int i, temp;
Random rand = new Random();
for(i=0; i<num; i++){
do{
temp = rand.nextInt(10000); //产生[0, 10000)之间的随机数
}while(temp<1 || temp>9999);
fw.write(temp + "\n");
}
fw.flush();
fw.close();
}
catch(Exception e){
e.printStackTrace();
}
}
//从fileName文件中读取所有整数,并计算其最大值、最小值、平均值
public static void ReadData(String fileName){
String str;
int count = 0;
int temp;
int max = 0, min = 10000;
long sum = 0;
double avg;
try{
BufferedReader br = new BufferedReader(new FileReader(fileName));
while((str = br.readLine()) != null){
count++;
temp = Integer.parseInt(str);
sum += temp;
if(temp > max){
max = temp;
}
if(temp < min){
min = temp;
}
}
avg = 1.0 * sum / count;
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
System.out.println("平均值:" + avg);
}
catch(Exception e){
e.printStackTrace();
}
}
}
(1)产生5000个1~9999之间的随机整数,并将其存入文本文件a.txt中。
(2)从文件中读取这五千个整数,并计算其最大值、最小值、平均值。
*/
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) {
String fileName = "a.txt";
WriteData(5000, fileName);
ReadData(fileName);
}
//产生num个1~9999之间的随机整数,并将其存入fileName文件
public static void WriteData(int num, String fileName){
try{
Writer fw = new FileWriter(fileName);
int i, temp;
Random rand = new Random();
for(i=0; i<num; i++){
do{
temp = rand.nextInt(10000); //产生[0, 10000)之间的随机数
}while(temp<1 || temp>9999);
fw.write(temp + "\n");
}
fw.flush();
fw.close();
}
catch(Exception e){
e.printStackTrace();
}
}
//从fileName文件中读取所有整数,并计算其最大值、最小值、平均值
public static void ReadData(String fileName){
String str;
int count = 0;
int temp;
int max = 0, min = 10000;
long sum = 0;
double avg;
try{
BufferedReader br = new BufferedReader(new FileReader(fileName));
while((str = br.readLine()) != null){
count++;
temp = Integer.parseInt(str);
sum += temp;
if(temp > max){
max = temp;
}
if(temp < min){
min = temp;
}
}
avg = 1.0 * sum / count;
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
System.out.println("平均值:" + avg);
}
catch(Exception e){
e.printStackTrace();
}
}
}
展开全部
public static void main(String[] args)
{
test();
}
public static void test()
{
String tempStr="";
for(int i=0;i<5000;i++)
{
double a=Math.random()*9999;
int aa=(int)a+1;
tempStr+=aa+"\r\n";
}
outputData("c:\\a.txt",tempStr);
test1();
}
public static void outputData(String filePath, String text)
{
try
{
BufferedWriter rw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(filePath), "UTF-8"));
rw.write(text);
rw.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void test1()
{
String s=new String();
int leng=0;
int test[]=new int[5000];
try
{
BufferedReader input = new BufferedReader(new FileReader("c:\\a.txt"));
while ((s = input.readLine()) != null&&leng<5000)
{
test[leng]=Integer.parseInt(s);
leng++;
}
input.close();
int max=test[0];
int min=test[0];
int sum=0;
for(int i=0;i<5000;i++)
{
if(test[i]<min)
min=test[i];
if(test[i]>max)
max=test[i];
sum+=test[i];
}
System.out.println("max="+max);
System.out.println("min="+min);
System.out.println("avg="+(double)sum/5000);
}
catch (Exception e)
{
e.printStackTrace();
}
}
{
test();
}
public static void test()
{
String tempStr="";
for(int i=0;i<5000;i++)
{
double a=Math.random()*9999;
int aa=(int)a+1;
tempStr+=aa+"\r\n";
}
outputData("c:\\a.txt",tempStr);
test1();
}
public static void outputData(String filePath, String text)
{
try
{
BufferedWriter rw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(filePath), "UTF-8"));
rw.write(text);
rw.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void test1()
{
String s=new String();
int leng=0;
int test[]=new int[5000];
try
{
BufferedReader input = new BufferedReader(new FileReader("c:\\a.txt"));
while ((s = input.readLine()) != null&&leng<5000)
{
test[leng]=Integer.parseInt(s);
leng++;
}
input.close();
int max=test[0];
int min=test[0];
int sum=0;
for(int i=0;i<5000;i++)
{
if(test[i]<min)
min=test[i];
if(test[i]>max)
max=test[i];
sum+=test[i];
}
System.out.println("max="+max);
System.out.println("min="+min);
System.out.println("avg="+(double)sum/5000);
}
catch (Exception e)
{
e.printStackTrace();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询