質問するログイン新規登録

回答編集履歴

1

訂正

2016/11/16 14:16

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,7 @@
1
- 2のファイルをtitle.txtとした場合以下のコードで文字数の比較が行われ
1
+ 2のファイルをtitle2.txt 1をtitle.txtとした場合以下のコードで文字数の比較が行われ
2
2
 
3
- aにはタイトルがString[]型変数に入りStringの[0]と[1]にそれぞれのタイトル名が並んで入り、
3
+ a1,a2にはString[]型変数にそれぞれのデータが並んで入り、
4
- bにはリンク元とリンク先それぞれのタイトル名の長さの大小が1,0,-1の数値に変換されて順に入ります
4
+ bにはリンク元とリンク先それぞれの長さの大小が1,0,-1の数値に変換されて順に入ります
5
5
 
6
6
  ```java
7
7
  import java.util.*;
@@ -12,10 +12,12 @@
12
12
  public static void main(String[] args){
13
13
 
14
14
  ArrayList<String[]> a=new ArrayList<>();
15
+ ArrayList<String[]> a2=new ArrayList<>();
16
+
15
17
  ArrayList<Integer> b=new ArrayList<>();
16
18
 
17
19
 
18
- try(BufferedReader br=new BufferedReader(new FileReader("title.txt"))){
20
+ try(BufferedReader br=new BufferedReader(new FileReader("title2.txt"))){
19
21
 
20
22
  String data=null;
21
23
 
@@ -24,16 +26,26 @@
24
26
  String[] dat=data.split(",");
25
27
  a.add(dat);
26
28
 
27
- if(dat[0].length()>dat[1].length()){
28
- b.add(1);}
29
- else if(dat[0].length()==dat[1].length()){
30
- b.add(0);
31
- }else if(dat[0].length()>dat[1].length()){
32
- b.add(-1);
33
29
 
34
30
  }
35
31
 
36
32
 
33
+
34
+ }catch(Exception e){}
35
+
36
+
37
+
38
+ try(BufferedReader br=new BufferedReader(new FileReader("title1.txt"))){
39
+
40
+ String data=null;
41
+
42
+ while((data=br.readLine())!=null){
43
+
44
+ String dat[]=data.split(",");
45
+
46
+ a2.add(dat);
47
+
48
+
37
49
  }
38
50
 
39
51
 
@@ -41,9 +53,42 @@
41
53
  }catch(Exception e){}
42
54
 
43
55
 
56
+ for(String[] s:a){
44
57
 
58
+ String tit=s[0];
59
+ String tit2=s[1];
45
60
 
61
+ int titl=0;
62
+ int titl2=0;
63
+
64
+ for(String[] s2:a2){
65
+ if(tit.equals(s2[1])){
66
+
67
+
68
+ try{
69
+ titl=Integer.parseInt(s2[0]);
70
+ }catch(Exception e){}
71
+
46
72
  }
73
+ if(tit2.equals(s2[1])){
74
+ try{
75
+ titl2=Integer.parseInt(s2[0]);
76
+ }catch(Exception e){}
47
77
 
48
78
  }
79
+
80
+ }
81
+
82
+ if(titl<titl2){
83
+ b.add(-1);
84
+ }else if(titl==titl2){
85
+ b.add(0);
86
+ }else if(titl>titl2)
87
+ b.add(1);
88
+ }
89
+
90
+ }
91
+
92
+ }
93
+ }
49
94
  ```