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

質問編集履歴

7

エラーの変更

2016/12/18 17:53

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -34,18 +34,10 @@
34
34
  }
35
35
  }
36
36
  ```
37
- このようなエラーが出てきます。
37
+ このようなエラーが出てきます。
38
- TF1.java:22: 互換性のない型
39
- 期待値: java.lang.String
40
- 検出値: java.lang.String[]
41
- String doc2 = str.split(" ");
42
- ^
43
38
  TF1.java:23: null {5}のtf(java.util.List<java.lang.String>,java.lang.String) TF1は指定された型に適用できません
44
39
  期待値:
45
40
  検出値: java.lang.String,java.lang.String
46
41
  double tf1 = tf(str, doc2);
47
- ^
48
- TF1.java:24: foreachは式のタイプに使用できません
49
- for(String words : doc2){
42
+ ^ ^
50
- ^
51
- エラー3
43
+ エラー1

6

字下げ

2016/12/18 17:53

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,9 @@
1
- ```ここに言語を入力
2
- コード
3
- ```Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってみました。
1
+ Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってみました。
4
2
  エラーの意味がわかりません。
5
3
  ファイルの読み込み方がわからないので直接英文を打ち込みました。こちらでは長いので省略しました。
6
4
  降順表示もしたいです。
7
5
 
8
- import java.util.Arrays;
6
+ ```import java.util.Arrays;
9
7
  import java.util.List;
10
8
  import java.lang.String;
11
9
  /**
@@ -35,6 +33,7 @@
35
33
  }
36
34
  }
37
35
  }
36
+ ```
38
37
  このようなエラーが出てきます。
39
38
  TF1.java:22: 互換性のない型
40
39
  期待値: java.lang.String

5

字下げ

2016/12/18 17:48

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,6 @@
1
+ ```ここに言語を入力
2
+ コード
1
- Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってみました。
3
+ ```Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってみました。
2
4
  エラーの意味がわかりません。
3
5
  ファイルの読み込み方がわからないので直接英文を打ち込みました。こちらでは長いので省略しました。
4
6
  降順表示もしたいです。

4

プログラムを追加

2016/12/18 17:28

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,34 +1,50 @@
1
1
  Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってみました。
2
+ エラーの意味がわかりません。
2
3
  ファイルの読み込み方がわからないので直接英文を打ち込みました。こちらでは長いので省略しました。
3
- 降順表示したいです。
4
+ 降順表示したいです。
4
5
 
5
- import java.util.*;
6
- import java.util.Map.Entry;
7
6
  import java.util.Arrays;
7
+ import java.util.List;
8
+ import java.lang.String;
9
+ /**
10
+ * doc 文書
11
+ term 用語
12
+ */
13
+ public class TF1 {
14
+ public double tf(List<String> doc, String term) {
15
+ double result = 0;
16
+ for (String word : doc) {
17
+ if (term.equalsIgnoreCase(word))
18
+ result++;
19
+ }
20
+ return result / doc.size();
21
+ }
8
22
 
9
- public class TF2{
10
23
  public static void main(String[] args) {
11
- double TF;
12
- String str =("//英単語の章 長いので省略");
24
+ String str = new String("//*英文");
25
+
13
- String[] a = str.split("\\s", 0);
26
+ String doc2 = str.split(" ");
14
- Map<String, Integer> m = new HashMap<String, Integer>();
27
+ double tf1 = tf(str, doc2);
15
- int size=0;
16
- for (String s : a) {
28
+ for(String words : doc2){
29
+ if(!str.equalsIgnoreCase(words)){
17
- int v;
30
+ System.out.print(doc2 + ":");
18
- if (m.containsKey(s)) {
31
+ System.out.println(tf1);
19
- // Mapに登録済み
20
- v = m.get(s) + 1;
21
- size++;
22
- } else {
23
- // Mapに未登録
24
- v = 1;
25
- size++;
26
- }
32
+ }
27
- m.put(s, v);
28
33
  }
29
- for (Entry<String, Integer> entry : m.entrySet()) {
30
- TF=((double)entry.getValue() / size) * 100;
31
- System.out.printf("%s : %2f%n", entry.getKey(),TF);
32
- }
33
34
  }
34
- }
35
+ }
36
+ このようなエラーが出てきます。
37
+ TF1.java:22: 互換性のない型
38
+ 期待値: java.lang.String
39
+ 検出値: java.lang.String[]
40
+ String doc2 = str.split(" ");
41
+ ^
42
+ TF1.java:23: null {5}のtf(java.util.List<java.lang.String>,java.lang.String) TF1は指定された型に適用できません
43
+ 期待値:
44
+ 検出値: java.lang.String,java.lang.String
45
+ double tf1 = tf(str, doc2);
46
+ ^
47
+ TF1.java:24: foreachは式のタイプに使用できません
48
+ for(String words : doc2){
49
+ ^
50
+ エラー3個

3

プログラムの追加

2016/12/18 17:04

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってみました。
2
- ファイルの読み込み方がわからないので直接英文を打ち込みました。
2
+ ファイルの読み込み方がわからないので直接英文を打ち込みました。こちらでは長いので省略しました。
3
3
  降順表示をしたいです。
4
4
 
5
5
  import java.util.*;

2

誤字を変更しました。

2016/12/18 16:53

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってました。
1
+ Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作ってました。
2
2
  ファイルの読み込み方がわからないので直接英文を打ち込みました。
3
3
  降順表示をしたいです。
4
4
 

1

自分で作ったプログラムを載せました。

2016/12/18 16:52

投稿

manchester
manchester

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,1 +1,34 @@
1
- Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを表示させるプログラムでも良いので教えください。流れだけでもよいのでお願いし
1
+ Javaを独学で勉強中のJava初心者です。Javaで英文テキストファイルを読み込みそれぞれの英単語のTFIDFを表示させるプログラムを作りたいのですが、どうしてもうまくできません。TFのみを作っした
2
+ ファイルの読み込み方がわからないので直接英文を打ち込みました。
3
+ 降順表示をしたいです。
4
+
5
+ import java.util.*;
6
+ import java.util.Map.Entry;
7
+ import java.util.Arrays;
8
+
9
+ public class TF2{
10
+ public static void main(String[] args) {
11
+ double TF;
12
+ String str =("//英単語の文章 長いので省略");
13
+ String[] a = str.split("\\s", 0);
14
+ Map<String, Integer> m = new HashMap<String, Integer>();
15
+ int size=0;
16
+ for (String s : a) {
17
+ int v;
18
+ if (m.containsKey(s)) {
19
+ // Mapに登録済み
20
+ v = m.get(s) + 1;
21
+ size++;
22
+ } else {
23
+ // Mapに未登録
24
+ v = 1;
25
+ size++;
26
+ }
27
+ m.put(s, v);
28
+ }
29
+ for (Entry<String, Integer> entry : m.entrySet()) {
30
+ TF=((double)entry.getValue() / size) * 100;
31
+ System.out.printf("%s : %2f%n", entry.getKey(),TF);
32
+ }
33
+ }
34
+ }