Java段階性テスト--第四五六大題参考コード
34435 ワード
第四題:.この問題はIOストリームで完成することを要求する Fileクラスを使用してDディスクの下にディレクトリmyFilesを作成し、myFilesディレクトリの下にinfo 1の3つのファイルを作成します.txt, info2.txt, info3.txt .
コード:
2.info 1.txt, info2.txt, info3.txtにはそれぞれ「最初のファイルの内容、千鋒はあなたを歓迎します」、「第2のファイルの内容、中国移動訓練専門家」、「第3のファイルの内容、千鋒はあなたの高給の就職を助けます」という内容が追加されています.
コード:
3.info 1.txt , info2.txt,info3.txtはStringクラスのメソッドでファイル名を切り取り、拡張名を除く名前を大文字にし、ファイル名をINFO 1に変更する.txt,INFO2.txt ,INFO3.txt、myFilestxtディレクトリにコピーします(プログラムでtxtフォルダを作成する必要があります)
コード:
4.キーボードにキーワード「千鋒」を入力し、myFilesディレクトリの下に「千鋒」キーワードを含むファイルをリストする
コード:
5.myFilesディレクトリを再帰的に削除し、削除情報を記録する.形式は「INFO 1.txt削除成功(失敗)2015-8-10 10 10:20:30」である.ファイルをD:logに保存します.txtで、(注意:log.txtファイルはコミットしない)
コード:
第五題必要に応じて次の機能を完了します.
【1】スタースタースタースタークラスを作成します.属性:star_No(スター番号)、star_Name(スター名)、star_Masterpieces(スターの出世作)、star_Home(スターの本籍)、star_Marriage(スターの結婚否)、star_Info(スター情報).すべての属性パッケージを要求し、toStringメソッドを書き換えます.(4点)
コード:Starクラス
【2】以下に示す情報に基づいてスターオブジェクトを作成し、各文字列のフィールドに対応する値をオブジェクト属性に設定する.(1)star_No:1000001 star_Name:胡軍star_Masterpieces:天龍八部star_Marriage:true star_Home:北京市Star_Info:胡軍は北京に生まれた芸術家で、満州族の黄旗を掲げている.父の胡宝善は男中音歌手で、母の王亦満は演劇俳優で、伯父は有名なテノール歌手の胡松華で、2013年、北京東城区消防イメージ大使.
(2)star_No:10000002 star_Name:鹿詳細star_Masterpieces:20歳に戻るstar_Marriage:false star_Home:北京市Star_Info:鹿鐖(LU HAN)、中国の俳優、歌手.1990年4月20日に北京で生まれた.2008年に韓国留学中に明洞で街をぶらぶらしていたところ、韓国SMエンターテインメント会社のスカウトに発掘され、傘下の練習生として契約した.2012年4月にEXOグループのボーカル、リーダーダンス、メンツ担当としてメジャーデビューし、国内外で急速に人気を集めた.(3)star_No:10000011 star_Name:孫俪star_Masterpieces:后宫甄嬛传star_Marriage:true star_Home:上海市Star_Info:孫俪、本名孫麗、1982年9月26日上海市生まれ、中国大陸の女優、歌手.5歳からダンスを学び、11歳で海外公演を行い、15歳で上海警備区文工団文芸兵を3年間務めた.除隊後、東方文化学院に入学した.(4)star_No:10000101 star_Name:王宝強star_Masterpieces:天下に泥棒はいないstar_Marriage:true star_Home:河北省邢台市南和県Star_Info:王宝強、中国大陸部の俳優、1984年5月29日に河北省邢台市で生まれ、6歳の時に武術の練習を始め、8歳で嵩山少林寺で俗家の弟子をし、20歳の時に独立映画「盲井」に主演して金馬賞の最優秀新人賞とフランス、タイ映画祭の最優秀主演男優賞を受賞した.
後の4つの質問の参考コードは以下の通りです.
コード:
6番目の問題
2つのスレッドを書き、1つのスレッドは1-52を印刷し、もう1つのスレッドはアルファベットA-Zを承諾します.印刷順序は12 A 34 B 56 C……5152 Zです.スレッド間の通信を使用して関係を調整します.注意:2つのオブジェクトにそれぞれ1つのオブジェクトoを構築し、数字は2つまたはアルファベットを印刷するたびにo.wait()を実行します.o.wait()の前にo.notify()を書くのを忘れないでください.
参照コードアドレス:http://blog.csdn.net/baidu_37107022/article/details/71082940
転載先:https://www.cnblogs.com/TCB-Java/p/6809625.html
コード:
package Test3;
import java.io.File;
import java.io.IOException;
public class Test1 {
public static void main(String[] args) {
File file=new File("D:\\myFiles");
if(!file.exists()){
file.mkdirs();
}
for (int i = 1; i <= 3; i++) {
File file2=new File(file,"info"+i+".txt");
try {
file2.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
File[] files=file.listFiles();
for (File file2 : files) {
System.out.println(file2);
}
}
}
2.info 1.txt, info2.txt, info3.txtにはそれぞれ「最初のファイルの内容、千鋒はあなたを歓迎します」、「第2のファイルの内容、中国移動訓練専門家」、「第3のファイルの内容、千鋒はあなたの高給の就職を助けます」という内容が追加されています.
コード:
package Test3;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test2 {
public static void main(String[] args) {
File file=new File("D:\\myFiles");
File[] files=file.listFiles();
String[] strings={" , "," , "," , "};
FileOutputStream fos=null;
for(int i=0;itry {
fos=new FileOutputStream(files[i]);
fos.write(strings[i].getBytes());
fos.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
3.info 1.txt , info2.txt,info3.txtはStringクラスのメソッドでファイル名を切り取り、拡張名を除く名前を大文字にし、ファイル名をINFO 1に変更する.txt,INFO2.txt ,INFO3.txt、myFilestxtディレクトリにコピーします(プログラムでtxtフォルダを作成する必要があります)
コード:
package Test3;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test3 {
public static void main(String[] args) {
File file=new File("D:\\myFiles");
String[] strings=file.list();
File file2=new File("D:\\myFiles\\txt");
if(!file2.exists()){
file2.mkdirs();
}
for (String string : strings) {
if(string.endsWith(".txt")){
//
String string2=string.substring(0, 5);
//
File file3=new File(file,string);
file3.renameTo(new File(file,string2.toUpperCase()+".txt"));
// txt
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream(file3);
fos=new FileOutputStream(new File(file2,string2.toUpperCase()+".txt"));
byte[] bs=new byte[50];
int count=0;
while((count=fis.read(bs))!=-1){
fos.write(bs, 0, count);
fos.flush();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
}
4.キーボードにキーワード「千鋒」を入力し、myFilesディレクトリの下に「千鋒」キーワードを含むファイルをリストする
コード:
package Test3;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
//4. “ ”, myFiles “ ” (8 )
public class Test4 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println(" :");
String string=scanner.next();
//
File file=new File("D:\\myFiles");
FileInputStream fis=null;
File[] files=file.listFiles();
// myFiles
for (File file2 : files) {
if(file2.isFile()){
// System.out.println(file2);
try {
fis=new FileInputStream(file2);
byte[] bs=new byte[50];
int count=0;
//
String string2="";
while((count=fis.read(bs))!=-1){
string2+=new String(bs, 0, count);
}
// System.out.println(string2);
//
if(string2.contains(string)){
System.out.println(file2+" :"+string);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
scanner.close();
}
}
5.myFilesディレクトリを再帰的に削除し、削除情報を記録する.形式は「INFO 1.txt削除成功(失敗)2015-8-10 10 10:20:30」である.ファイルをD:logに保存します.txtで、(注意:log.txtファイルはコミットしない)
コード:
package Test3;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
/**
* myFiles , , “INFO1.txt ( )
* 2015-8-10 10:20:30”. D:\log.txt ,( :log.txt )
* @author Administrator
*
*/
public class Test5 {
public static void main(String[] args) {
File file=new File("D:\\myFiles");
// log.txt
File file2=new File("D:\\log.txt");
if(!file2.exists()){
try {
file2.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//
remove(file, file2);
}
// myfile
public static void remove(File file,File txt){
if(file.isFile()){
boolean isSuccess=file.delete();
long l=System.currentTimeMillis();
//
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String string=format.format(l);
FileOutputStream fos=null;
try {
fos=new FileOutputStream(txt,true);
String pk=isSuccess?" ":" ";
String string2=file.getName()+pk+" "+string;
System.out.println(string2);
fos.write(string2.getBytes());
fos.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}else {
File[] files=file.listFiles();
for (File file2 : files) {
remove(file2,txt);
}
}
}
}
第五題必要に応じて次の機能を完了します.
【1】スタースタースタースタークラスを作成します.属性:star_No(スター番号)、star_Name(スター名)、star_Masterpieces(スターの出世作)、star_Home(スターの本籍)、star_Marriage(スターの結婚否)、star_Info(スター情報).すべての属性パッケージを要求し、toStringメソッドを書き換えます.(4点)
コード:Starクラス
package Test4;
import java.io.Serializable;
import java.text.CollationKey;
import java.text.Collator;
/**
* Star , :star_No( )、star_Name( )、
* star_Masterpieces( )、star_Home( )、star_Marriage( )、
* star_Info( ); , toString 。
* @author Administrator
*
*/
public class Star implements Comparable,Serializable {
private static final long serialVersionUID = 1L;
private int star_No;
private String star_Name;
private String star_Masterpieces;
private String star_Home;
private String star_Marriage;
private String star_Info;
public int getStar_No() {
return star_No;
}
public void setStar_No(int star_No) {
this.star_No = star_No;
}
public String getStar_Name() {
return star_Name;
}
public void setStar_Name(String star_Name) {
this.star_Name = star_Name;
}
public String getStar_Masterpieces() {
return star_Masterpieces;
}
public void setStar_Masterpieces(String star_Masterpieces) {
this.star_Masterpieces = star_Masterpieces;
}
public String getStar_Home() {
return star_Home;
}
public void setStar_Home(String star_Home) {
this.star_Home = star_Home;
}
public String getStar_Marriage() {
return star_Marriage;
}
public void setStar_Marriage(String star_Marriage) {
this.star_Marriage = star_Marriage;
}
public String getStar_Info() {
return star_Info;
}
public void setStar_Info(String star_Info) {
this.star_Info = star_Info;
}
@Override
public String toString() {
return "Star [star_No=" + star_No + ", star_Name=" + star_Name + ", star_Masterpieces=" + star_Masterpieces
+ ", star_Home=" + star_Home + ", star_Marriage=" + star_Marriage + ", star_Info=" + star_Info + "]";
}
public Star(int star_No, String star_Name, String star_Masterpieces, String star_Home, String star_Marriage,
String star_Info) {
super();
this.star_No = star_No;
this.star_Name = star_Name;
this.star_Masterpieces = star_Masterpieces;
this.star_Home = star_Home;
this.star_Marriage = star_Marriage;
this.star_Info = star_Info;
}
public Star() {
super();
}
// star_No , start_Name
@Override
public int compareTo(Star o) {
if(this.star_No>o.star_No){
return 1;
}else if(this.star_Noreturn -1;
}else {
CollationKey key=Collator.getInstance().getCollationKey(this.star_Name);
CollationKey key2=Collator.getInstance().getCollationKey(o.star_Name);
int num=key.compareTo(key2);
if(num>0){
return -1;
}else if(num<0){
return 1;
}else {
return 0;
}
}
}
// ( : )
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((star_Home == null) ? 0 : star_Home.hashCode());
result = prime * result + ((star_Info == null) ? 0 : star_Info.hashCode());
result = prime * result + ((star_Marriage == null) ? 0 : star_Marriage.hashCode());
result = prime * result + ((star_Masterpieces == null) ? 0 : star_Masterpieces.hashCode());
result = prime * result + ((star_Name == null) ? 0 : star_Name.hashCode());
result = prime * result + star_No;
return result;
}
@Override
public boolean equals(Object obj) {
if(obj==null){
return false;
}
if(obj==this){
return true;
}
if(obj instanceof Star){
Star star=(Star) obj;
if(this.star_No==star.star_No&&this.star_Name.equals(star.star_Name)&&
this.star_Masterpieces.equals(star.star_Masterpieces)){
return true;
}
}
return false;
}
}
【2】以下に示す情報に基づいてスターオブジェクトを作成し、各文字列のフィールドに対応する値をオブジェクト属性に設定する.(1)star_No:1000001 star_Name:胡軍star_Masterpieces:天龍八部star_Marriage:true star_Home:北京市Star_Info:胡軍は北京に生まれた芸術家で、満州族の黄旗を掲げている.父の胡宝善は男中音歌手で、母の王亦満は演劇俳優で、伯父は有名なテノール歌手の胡松華で、2013年、北京東城区消防イメージ大使.
(2)star_No:10000002 star_Name:鹿詳細star_Masterpieces:20歳に戻るstar_Marriage:false star_Home:北京市Star_Info:鹿鐖(LU HAN)、中国の俳優、歌手.1990年4月20日に北京で生まれた.2008年に韓国留学中に明洞で街をぶらぶらしていたところ、韓国SMエンターテインメント会社のスカウトに発掘され、傘下の練習生として契約した.2012年4月にEXOグループのボーカル、リーダーダンス、メンツ担当としてメジャーデビューし、国内外で急速に人気を集めた.(3)star_No:10000011 star_Name:孫俪star_Masterpieces:后宫甄嬛传star_Marriage:true star_Home:上海市Star_Info:孫俪、本名孫麗、1982年9月26日上海市生まれ、中国大陸の女優、歌手.5歳からダンスを学び、11歳で海外公演を行い、15歳で上海警備区文工団文芸兵を3年間務めた.除隊後、東方文化学院に入学した.(4)star_No:10000101 star_Name:王宝強star_Masterpieces:天下に泥棒はいないstar_Marriage:true star_Home:河北省邢台市南和県Star_Info:王宝強、中国大陸部の俳優、1984年5月29日に河北省邢台市で生まれ、6歳の時に武術の練習を始め、8歳で嵩山少林寺で俗家の弟子をし、20歳の時に独立映画「盲井」に主演して金馬賞の最優秀新人賞とフランス、タイ映画祭の最優秀主演男優賞を受賞した.
【3】 TreeMap, , ,
star_No , start_Name (5 )
【4】 HashMap , Star ,value 。
( : )。(5 )
【5】 , ,
star_Name ,
後の4つの質問の参考コードは以下の通りです.
コード:
package Test4;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import java.util.Set;
import java.util.TreeMap;
public class Test1 {
public static void main(String[] args) {
//2 Star , 。
Star star=new Star(10000001, " ", " ", " ", "true", " , 。"
+ " , , ,2013 , 。");
Star star2=new Star(10000002, " ", " 20 ", " ", "false",
" (LU HAN), 、 。1990 4 20 。2008 SM , 。2012 4 EXO 、 、 , 。");
Star star3=new Star(10000011, " ", " ", " ", "true",
" , ,1982 9 26 , 、 。5 ,11 ,15 3 ; 。");
Star star4=new Star(10000101, " ", " ", " ", "true",
" , ,1984 5 29 ,6 ,8 ,20 《 》 、 。");
//3. TreeMap, ,
// , star_No , start_Name
//{ Star }
TreeMap map=new TreeMap<>();
map.put(star, " ");
map.put(star2, " ");
map.put(star3, " ");
map.put(star4, " ");
Set set=map.keySet();
for (Star star5 : set) {
System.out.println(star5+" "+map.get(star5));
}
//4. HashMap , Star ,vlaue 。
// ( : )
//{ hashCode equals star }
HashMap map2=new HashMap<>();
map2.put(star, " ");
map2.put(star2, " ");
map2.put(star3, " ");
map2.put(star4, " ");
System.out.println();
//5. , ,
// star_Name ,
ObjectOutputStream oos=null;
Set set2=map.keySet();
for (Star star6 : set2) {
//
System.out.println(star6+" "+map.get(star6));
// ,
try {
oos=new ObjectOutputStream(new FileOutputStream(new File(star6.getStar_Name()+".txt")));
oos.writeObject(star6);
oos.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(oos!=null){
try {
oos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
6番目の問題
2つのスレッドを書き、1つのスレッドは1-52を印刷し、もう1つのスレッドはアルファベットA-Zを承諾します.印刷順序は12 A 34 B 56 C……5152 Zです.スレッド間の通信を使用して関係を調整します.注意:2つのオブジェクトにそれぞれ1つのオブジェクトoを構築し、数字は2つまたはアルファベットを印刷するたびにo.wait()を実行します.o.wait()の前にo.notify()を書くのを忘れないでください.
参照コードアドレス:http://blog.csdn.net/baidu_37107022/article/details/71082940
転載先:https://www.cnblogs.com/TCB-Java/p/6809625.html