黑马程序员技术交流社区
标题:
基础班习题求解答
[打印本页]
作者:
浅色寂语66
时间:
2016-8-5 23:46
标题:
基础班习题求解答
1.获取一个文本文件上每个字符出现的次数,将结果写在times.txt上
2.从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
3.编写一个程序,把指定目录下的所有文件拷贝到另一个目录中, 拷贝成功后,把后缀名是.java的改成.txt
/*
4.
附件中是某班级的连续两次考试成绩,请写个程序,计算出上次考试不及格本次考试超过70分的同学数量及详细信息~~
打印格式:
上次考试不及格,本次超过70分的学生总共有: 2 位!
详细信息如下:
孙允阔 同学: 上次考试成绩为: 58.0 ,本次考试成绩为: 70.0 ,进步很大~~
孟阳 同学: 上次考试成绩为: 18.0 ,本次考试成绩为: 74.0 ,进步很大~~
作者:
18211001681
时间:
2016-8-7 01:08
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/*"C:\\Users\\john\\Desktop\\C:\\Users\\john\\Desktop\\成绩统计1.txt"
* 4.
附件中是某班级的连续两次考试成绩,请写个程序,计算出上次考试不及格本次考试超过70分的同学数量及详细信息~~
打印格式:
上次考试不及格,本次超过70分的学生总共有: 2 位!
详细信息如下:
孙允阔 同学: 上次考试成绩为: 58.0 ,本次考试成绩为: 70.0 ,进步很大~~
孟阳 同学: 上次考试成绩为: 18.0 ,本次考试成绩为: 74.0 ,进步很大~~ */
public class work1 {
public static void main(String[] args) throws Exception {
HashMap<String,Double> firstScore = new HashMap<String, Double>();
HashMap<String,Double> secondScore = new HashMap<String, Double>();
System.out.println("请输入:");
firstScore = getMap(firstScore);
System.out.println("请输入:");
secondScore = getMap(secondScore);
getInformation(firstScore,secondScore);
}
private static void getInformation(HashMap<String, Double> firstScore,
HashMap<String, Double> secondScore) {
for(Map.Entry<String, Double> firstEntry:firstScore.entrySet()){
for (Map.Entry<String, Double> secondEntry : secondScore.entrySet()) {
String key = firstEntry.getKey();
Double value = firstEntry.getValue();
String key2 = secondEntry.getKey();
Double value2 = secondEntry.getValue();
if(value<60 && value2>70 && key.equals(key2)){
System.out.println(key+"同学,上次的考试成绩是"+value+"分,本次的考试成绩" +
"是"+value2+"分,进步很大,加油!");
}
}
}
}
private static HashMap<String, Double> getMap(HashMap<String, Double> Score) throws IOException {
Scanner sc = new Scanner(System.in);
String s = sc.next();
FileReader inn = new FileReader(s);
BufferedReader in = new BufferedReader(inn);
String len;
while((len = in.readLine()) != null){
String[] ss = new String[3];
ss=len.split("\\s+");
Score.put(ss[0],Double.valueOf(ss[1]));
}
return Score;
}
作者:
lvzhenyang123
时间:
2016-8-12 20:12
本帖最后由 lvzhenyang123 于 2016-8-12 20:38 编辑
2.获取一个文本上每个字符出现的次数,将结果写在times.txt * 分析: * 1,创建带缓冲的输入流对象
* 2,创建双列集合对象TreeMap
* 3,将读到的字符存储在双列集合中,存储的时候要做判断,如果不包含这个键,就将键和1存储,如果包含这个键,就将该键和值加1存储
* 4,关闭输入流
* 5,创建输出流对象
* 6,遍历集合将集合中的内容写到times.txt中
* 7,关闭输出流
* @param args * @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new FileReader("zzz.txt"));
TreeMap<Character,Integer> tm=new TreeMap<>();
int ch;
while ((ch=br.read())!=-1) {
char c=(char)ch;
tm.put(c ,!tm.containsKey(c)? 1:tm.get(c)+1);
}
br.close();
BufferedWriter bw=new BufferedWriter(new FileWriter("times.txt")) ;
for (Character key: tm.keySet()) {
switch (key) {
case '\t':
bw.write("\\t" + "=" + tm.get(key));
break;
case '\n':
bw.write("\\n" + "=" + tm.get(key));
break;
case '\r':
bw.write("\\r" + "=" + tm.get(key));
break;
default:
bw.write(key+"="+tm.get(key));
break;
}
bw.newLine();
} bw.close();
}
作者:
lvzhenyang123
时间:
2016-8-12 20:39
本帖最后由 lvzhenyang123 于 2016-8-12 20:41 编辑
/** * @param args * 从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
* @throws IOException */
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub copy(demo(),demo());
}
public static File demo() {
Scanner sc=new Scanner(System.in); //输入一个文件夹路径
System.out.println("请输入文件夹路径");
String line=sc.nextLine();
File f=new File(line);
while (true) { //循环
if (!f.exists()) {
System.out.println("输入的文件夹不存在");
} else if(f.isFile()){
System.out.println("输入的是文件路径,请输入文件夹路径");
}else{
return f;
} } }
public static void printJavaFile(File dir) {
//1,获取到该文件夹路径下的所有的文件和文件夹,存储在File数组中
File[] subFiles = dir.listFiles();
//2,遍历数组,对每一个文件或文件夹做判断
for (File subFile : subFiles) {
//3,如果是文件,并且后缀是.java的,就打印
if(subFile.isFile() && subFile.getName().endsWith(".java")) {
System.out.println(subFile);
//4,如果是文件夹,就递归调用
}else if (subFile.isDirectory()){
printJavaFile(subFile);
} } }
public static void copy(File file1,File file2) throws IOException{
File file3=new File(file1 ,file2.getName());
file3.mkdir();
File[] d=file2.listFiles();
for (File file : d) {
if (file.isFile()) {
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(new File(file3,file.getName()))); int a;
while ((a=bis.read())!=-1) {
bos.write(a);
}
bos.close();
} else {
copy(file3,file);
}
}
}
作者:
zztierlie
时间:
2016-8-13 10:10
膜拜楼上巨巨
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2