架空の映画のネタバレレビュー

現在JAVAを勉強している者ですが、
ある課題で、
「JAVAプログラムを起動して、入力した単語(2単語くらい)を自動的にYahoo Japanに接続して、その単語を検索する」というプログラムを作らなくてはいけないのですが、全くわからない状態です。
よろしかったら、是非わかりやすく教えてください!
おねがいします!m(_ _)m

A 回答 (3件)

仕様的にあいまいな点が多々あるので適当に仮定して



OS=Windows
JAVAプログラム=JAVAのCUIアプリケーションでコンソール(コマンドプロンプト)から実行
自動的に接続=Internet Explorerを起動
入力=コンソールから英語で2つ単語入力

1.JAVAアプリの作成
参考:http://www.hellohiro.com/appli.htm

2.コンソールから入力
参考:http://milkyway.merseine.nu/Java/Java051.html

3.URLの作成
http://search.yahoo.co.jp/bin/search?p=word1+word2

みたいな感じのURLを作成
http://search.yahoo.co.jp/bin/search?p=検索単語1+検索単語2

3.外部コマンド実行
参考:http://milkyway.merseine.nu/Java/Java051.html

実行するコマンド
C:\Program Files\Internet Explorer\IEXPLORE.EXE "作ったURL"

ってな感じでいかがでしょ?
    • good
    • 0

皆さんがおっしゃるように、仕様が不明確です。

極端な話、こんなコードでも良いことになってしまいます。(windows限定)

class YahooSearcher {
  public static void main(String[] args) {
    try {
      String url;
      if (args.length > 0) {
        url = "http://search.yahoo.co.jp/bin/search?p=";
        for (int i = 0; i < args.length; i++) {
          url += args[i] + "+";
        }
        url = url.substring(0, url.length() - 1);
      }
      else {
        url = "http://www.yahoo.co.jp";
      }
      Runtime.getRuntime().exec("cmd /c start " + url);
    }
    catch(Throwable t) {
      System.out.println(t.getMessage());
    }
  }
}

#課題とはいえ、簡単すぎるかも…。
    • good
    • 0
この回答へのお礼

調べてみたところ、表示するページのソースさえわかればいいことだったので、ブラウザは関係なかったようです。
お手数かけて申し訳ありませんでした!

お礼日時:2004/10/05 02:49

こんな感じでどうでしょうか。



import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;

public class YahooSearch {

public static void main(String[] args) {
if (args.length < 1) {
System.out.println("Please Input Search Key Words");
return;
}
StringBuffer uri = new StringBuffer("http://search.yahoo.co.jp/bin/query?p=");
for (int cnt = 0;cnt < args.length;cnt++) {
if (cnt != 0) {
uri.append("+");
}
uri.append(args[cnt]);
}
GetMethod get = null;
try {
get = new GetMethod(uri.toString());
new HttpClient().executeMethod(get);
String response = get.getResponseBodyAsString();

System.out.println("Response:" + response);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (get != null) {
get.releaseConnection();
}
}
}

}

#1さん同様、仕様がよくわかりませんが・・・。

検索した結果をどうするのかわかりませんが、
上記ではとりあえずレスポンスをすべて標準出力へ
出力しています。
実際はこれをブラウザへ読ませれば
普通に検索結果画面が見れますよ。

この方法では、下記の2つのライブラリが
必要になります。

Apache Commons HttpClient
Apache Commons Logging

私が使用したのは以下のjarです
commons-httpclient-2.0-rc1.jar
commons-logging-api.jar

無い場合は下記URLよりダウンロードしてください。
http://jakarta.apache.org/site/binindex.cgi
    • good
    • 0
この回答へのお礼

助かります!
すいません、使用はTurboLinuxで、
使っているブラウザはMozillaです。

お礼日時:2004/10/05 02:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!