- 締切済み
Javaの問題について...
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.UnknownHostException; import javax.swing.JTextArea; public class html_getter { public static void main(String[] args){ Object o1 = null; try { o1 = new Getter5(new URL("http://www.google.com/")); } catch (MalformedURLException e) { e.printStackTrace(); } ((Getter5)o1).Show(); } } class Getter5{ private String charset = "Shift_JIS"; private JTextArea htmlArea; public Getter5(URL url){ htmlArea = new JTextArea(); try { URLConnection uc = url.openConnection(); BufferedInputStream bis = new BufferedInputStream(uc.getInputStream()); BufferedReader br = new BufferedReader(new InputStreamReader(bis, charset)); htmlArea.setText("");//初期化 String line; while ((line = br.readLine()) != null) { htmlArea.append(line + "\n"); } } catch (MalformedURLException ex) { htmlArea.setText("URLが不正です。"); ex.printStackTrace(); } catch (UnknownHostException ex) { htmlArea.setText("サイトが見つかりません。"); } catch (IOException ex) { ex.printStackTrace(); } } public void Show(){ System.out.println(htmlArea.getText()); } } このプログラムはURLの指定先からHTMLを取ってきて表示するプログラムなのですが、 これに「indexOfとString s1を使ってURLの指定先のHTMLから自分の入力した文字列があるかどうかを判断するプログラム」を作りたいのですがどうすれば作れるでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KSOH
- ベストアンサー率93% (29/31)
えーとindexOfをご存じということはStringから任意の文字列を探す方法は把握されているとお見受けします。 問題はこの機能を果たすGUIアプリケーションをどうやって作ればよいかわからないということではないでしょうか? 失礼ながら拝見したプログラムはGUIアプリケーションとしての体をなしていないことからGUIアプリケーションの基本をご存じないのだと思います。 もし手っ取り早く「指定URLのHTMLから文字列を検索したい」というのであればGUIは用いずにCUIで - つまりmainの引数に渡した文字列を検索するといったプログラムを考えるのがよいと思います。提示されたコードを見る限りCUIでなら充分完成できる知識をお持ちだと思います。 そうでなくきちんとしたGUIアプリケーションを作りたいならGUIアプリケーションの基本から学ぶことをお勧めします。GUI画面の基礎を把握していない方に対して実現方法を伝えるにはこのプログラムの完全なコードを提示することになってしまいますので。 GUIの基本を学ぶには初歩的な教科書や「JavaでGUIをつくるには」的なサイトなどが利用できると思います。ご自分の知識と経験にあった方法を選択してみてください。
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
if ( line != null ) if ( line.indexOf(s1) > 0 ) { System.out.println("あった!"); } else{ System.out.println("なかった"); } こうじゃないの?
お礼
それだけではうまく動きませんでしたけど、雰囲気はそんな感じだと思いますので 参考にさせてもらいます。 回答ありがとうございました。
補足
すいませんこれ学校ででた課題なのでこのプログラム自体を作ったには私じゃないんです。 課題自体はCUIで作るものなので、KSOHさんの言うとおり「mainの引数に渡した文字列を検索するといったプログラム」です。 長文の回答 自分はまだプログラミングになれていなく勉強不足なので、もう少しがんばってみます。 長文の回答ありがとうございました。