質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

受付中

csv内にあるRSSIとSSIDを組み合わせたものを数えたい

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0回答

0リアクション

0クリップ

937閲覧

投稿2019/07/10 08:26

編集2019/07/10 09:26

DB構築のためのプログラム

ここに質問の内容を詳しく書いてください。
JavaでDB構築のためのプログラムを作成しています。
RSSIとSSIDの組み合わせの数を数えたいのですが、それぞれでカウントしてしまい組み合わせたものを数えることができません。
組み合わせの例
SSID RSSI>
c8:b5:ad:32:26:90 -50
60:84:bd:94:68:fc -56
60:84:bd:94:68:f9 -62
c8:b5:ad:32:26:80 -68

-59~-50 = -50とします。RSSIはそれぞれ-49~-40=-40,-59~-50=-50,-69~-60=-60,-79~-70=-70,-89~-80=-80,-99~-90=-90となります。c8:b5:ad:32:26:90のRSSIが-50のものはいくつあるのかを数えるプログラムを作成したいです。

エラーメッセージ  csvファイルを読み取れない。また、読み取ってもSSID,RSSIをそれぞれカウントしてしまう。

該当のソースコード

Java

import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.io.File; public class Ccsv { static final String FILE_PATH = "30ms20m.csv"; public static void main(String[] args) { // 集計と読み取り Map<String, Integer> map = new HashMap<>(); try (FileReader fr = new FileReader(FILE_PATH); BufferedReader br = new BufferedReader(fr)){ String line; while ((line = br.readLine()) != null) { String[]data = line.split(",",0); for (String elem : data) { if (!elem.isEmpty()) { if (map.containsKey(elem)) { int count = map.get(elem) + 1; map.put(elem, count); } else { map.put(elem, 1); } } } } }catch (FileNotFoundException e) { System.out.println("ファイルが見つかりませんでした。"); }catch (IOException e) { System.out.println("読み取りに失敗しました。"); } List<String> list = new ArrayList<>(); int maxLengthOfSpelling = 0; for (String key : map.keySet()) { list.add(key); if (maxLengthOfSpelling < key.length()) { maxLengthOfSpelling = key.length(); } } Collections.sort(list, (o1, o2) -> { return - map.get(o1) + map.get(o2); }); String format = "%-" + maxLengthOfSpelling + "s: %3d"; for (String word : list) { int count = map.get(word); if (10 <= count) { System.out.printf(format, word, count); System.out.println(); } } } }

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2019/07/10 08:29

コードはマークダウンのcode機能を利用してご提示ください。 コードブロックからはみ出ているときちんと反映されません。 (難しければコード部分を選択し、<code>ボタンを押すだけでも構いません)
m.ts10806

2019/07/10 08:30

また「JavaでDB構築のためのプログラム」とはどういうことでしょうか。 通常は「アプリケーションに必要なデータをプログラミング言語から操作する」だと思うのですが。
退会済みユーザー

退会済みユーザー

2019/07/10 08:32

数々のご指摘ありがとうございます。プログラミング言語から操作する方向で間違いないです。 またコードの入力のほうをもう一度確認してきます。ありがとうございます。
m.ts10806

2019/07/10 08:33

質問は編集できますので、タイトルも含めてご調整ください
m.ts10806

2019/07/10 08:42

私の言い方が良くなかったですね・・・ できればタイトルは「実際に起きている問題」にフォーカスをあてた要件にしてもらえればと思います。 質問内容に書かれている状況や問題・課題を要約したものですね。 あまりにカテゴリが大きいものや汎用的すぎると「何が問題か」がタイトルを見ただけでは分かりませんし、同じタイトルで質問を量産することになってしまいます。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます