- 刷题真的很爽!
- 刷完题必定要把值得记录的题记录下来,方便复习,也能够积累成就感,便于坚持!
/root/bootstrap/result/备用1/Exam-04/extra/itcast.txt文件中存储了多行数字, 读取每行的数字,将结果打印到控制台。 将文件中读取出的数字进行去重操做,将结果打印到控制台。 将去重后的数字按照由小到大的方式进行排列,并将排列后的结果打印到控制台。 将排序后的结果按行存储,按行存储,按行存储(重要事情说三遍,须要换行)到/root/bootstrap/result/备用1/Exam-04/extra/itcast.avi文件中。
逻辑在Demo类的main函数中实现; 例如/root/bootstrap/result/备用1/Exam-04/extra/itcast.txt中按行存储了 9,2,5,2,6,5,4,9 打印的结果: 第一行--> 初始: 9 2 5 2 6 5 4 9 第二行--> 去重: 9 2 5 6 4 第三行--> 排序: 2 4 5 6 9
package com.heima_IO; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.TreeSet; public class Demo { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader(new File("C:\\Users\\Dell xps\\Desktop\\itcast.txt"))); TreeSet<Integer> ts = new TreeSet<>(); String line; String startStr = "初始:"; while((line = br.readLine()) != null) { ts.add(Integer.parseInt(line)); startStr += line + " "; } System.out.println(startStr.trim()); String distinctStr = "去重:"; String sortStr = "排序:"; BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\\Users\\Dell xps\\Desktop\\itcast_copy.txt"))); for(int i : ts) { distinctStr += i + " "; sortStr += i + " "; bw.write("" + i); bw.newLine(); } System.out.println(distinctStr.trim()); System.out.println(sortStr.trim()); br.close(); bw.close(); } }
private static void demo01() throws IOException { //读取文件 BufferedReader br = new BufferedReader(new FileReader(new File("C:\\Users\\Dell xps\\Desktop\\itcast.txt"))); BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\\Users\\Dell xps\\Desktop\\itcast_copy.txt"))); //该容器用于字符串去重 HashSet<Character> hs = new HashSet<>(); //初始字符串 String startStr = "初始:"; String line; //按行取出字符串 while((line = br.readLine()) != null){ //对取出的字符串中的数字进行去重 hs.add(line.charAt(0)); //拼接显示初始状态的字符串 startStr += line.charAt(0) + " "; } //去除首尾空格 System.out.println(startStr.trim()); //去重字符串 String distinctStr = "去重:"; for(char c : hs) { distinctStr += c + " "; } //去除首尾空格 System.out.println(distinctStr.trim()); //排序 ArrayList<Integer> list = new ArrayList<>(); for(char c : hs) { list.add(Integer.parseInt("" + c)); } Collections.sort(list); //打印排序字符串 String sortStr = "排序:"; for(int i : list) { sortStr += i + " "; bw.write(i + ""); bw.newLine(); } System.out.println(sortStr.trim()); br.close(); bw.close(); }
标记思想java
书写一个类,类名为Itheima;bootstrap
类中有一个方法,方法名either24;数组
给定一个整型数组,若是数组中含有两个相邻的数字2,或者是两个相邻的数字4,就返回true,不然返回false,
若是数组既含有两个相邻的数字2又含有两个相邻的数字4,就返回false。
例如:([1, 2, 3, 2, 2, 4, 4]) -> false函数
方法调用 指望值
either24([1,2,2]) true
either24([4,4,1]) true
either24([4,4,1,2,2]) falsecode
public class Itheima { public boolean either24(int[] arr){ //初始化标记 boolean has22 = false; boolean has44 = false; //符合条件,改变标记状态 for(int i = 0; i < arr.length - 1; i++){ if(arr[i] == 2 && arr[i + 1] == 2){ has22 = true; } if(arr[i] == 4 && arr[i + 1] == 4){ has44 = true; } } //经过标记来判断 if(has22 && has44){ return false; } else if((has22 && !has44) || (!has22 && has44)){ return true; } else { return false; } } }