用java编写程序 1.建立一个文本文件,输入英语短文.编写一个程序,统计该文件中英文字母的个数,
用java编写程序1.建立一个文本文件,输入英语短文.编写一个程序,统计该文件中英文字母的个数,并将结果写入一个文本文件2.建立一个文本文件,输入学生三门课成绩,编写一个...
用java编写程序
1.建立一个文本文件,输入英语短文.编写一个程序,统计该文件中英文字母的个数,并将结果写入一个文本文件
2.建立一个文本文件,输入学生三门课成绩,编写一个程序,读入这个文件的数据,输出每门课成绩的最小值,最大值和平均值 展开
1.建立一个文本文件,输入英语短文.编写一个程序,统计该文件中英文字母的个数,并将结果写入一个文本文件
2.建立一个文本文件,输入学生三门课成绩,编写一个程序,读入这个文件的数据,输出每门课成绩的最小值,最大值和平均值 展开
3个回答
展开全部
public class Read {
public static void main(String[] args) throws Exception {
long size = readFileByChars("D://test.txt");
write("D://test1.txt",size);
}
public static long readFileByChars(String fileName) {
File file = new File(fileName);
Reader reader = null;
int num =0;
try {
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1) {
// 对于windows下,rn这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。
if (((char) tempchar) != 'r') {
System.out.print((char) tempchar);
}
if (tempchar>= 'A' && tempchar<= 'Z' ||tempchar>= 'a' && tempchar<= 'z'){
num++;
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
return num;
}
public static void write(String fileName,long size) throws IOException {
File file = new File(fileName);
Writer writer = null;
try {
writer =new FileWriter(new File(fileName));
writer.write("英文字母共有:"+size);
}catch (Exception e){
e.printStackTrace();
}finally {
if (writer!= null){
writer.close();
}
}
}
}
第二题:
public class Read {
public static void main(String[] args) throws Exception {
readFile("D://test.txt");
}
public static void readFile(String fileName ) throws Exception {
BufferedReader isr = new BufferedReader(new FileReader(fileName));
String str = null;
int allnumber =1;
str = isr.readLine();
String [] strings = str.split("\\s+");
float [] sum ={Float.valueOf(strings[0]),Float.valueOf(strings[1]),Float.valueOf(strings[2])};
float [] min ={Float.valueOf(strings[0]),Float.valueOf(strings[1]),Float.valueOf(strings[2])};
float [] max ={Float.valueOf(strings[0]),Float.valueOf(strings[1]),Float.valueOf(strings[2])};
System.out.println(str);
while ((str = isr.readLine())!= null){
System.out.println(str);
deal(str,sum,min,max);
allnumber++;
}
if (isr!= null){
isr.close();
}
System.out.println("三门课最大值:"+max[0]+"\t"+max[1]+"\t"+max[2]);
System.out.println("三门课最小值:"+min[0]+"\t"+min[1]+"\t"+min[2]);
System.out.println("三门课平均值:"+sum[0]/allnumber+"\t"+sum[1]/allnumber+"\t"+sum[2]/allnumber);
}
public static void deal(String str, float[] sum, float[] min, float[] max){
String [] strings = str.split("\\s+");
for (int i=0;i<3;i++) {
sum[i] = sum[i] + Float.valueOf(strings[i]);
if (max[i] < Float.valueOf(strings[i])) {
max[i] = Float.valueOf(strings[i]);
}
if (min[i] > Float.valueOf(strings[i])) {
min[i] = Float.valueOf(strings[i]);
}
}
}
}
展开全部
package mainpackage;
/**
* 首先 得知道文件位置
* 然后 绑定文件的字符流
* 接着 得到字符流之后就可以每行进行字符读取
* 最后 得到每行字符后就可以判断了
* 注:我也是闲着没事,顺便写的。其实倒还写的有些复杂了
* 你有什么不懂得可以随时问我
* 在不在就不敢保证了
*
*/
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileBytes {
public static void main(String[] args) throws IOException {
String fileDir = "H:/read.txt"; //文件路劲
File file = new File(fileDir); //实例化文件
FileReader in = new FileReader (file); //实例化文件读取对象
BufferedReader bf = new BufferedReader(in); //绑定字符流
String str ; //拼接字符对象
String deStr = ""; //拼接结果
int len = 0; //字母个数
while ((str = bf.readLine() )!=null) { //循环行,获取每行的字符并且进行拼接
deStr+=str;
}
byte[] b = deStr.getBytes(); //将拼接的字符串beye化
for(byte s:b){ //循环数据 如果为字母 就将长度加一
if(s>='A'&&s<='Z'||s>='a'&&s<='z'){
len++;
}
}
System.out.println(len); //打印长度
}
}
追问
还有要将得出的结果写入文件呢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-11-15
展开全部
tretches before us in the constant panorama
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询