1 ネットワークを通じて送信する可能性のあるコマンド文字列とその働きを書いてください。
2 26,73行目のcatchで補足される可能性のある例外と、その発生箇所と原因を書いてください。
2番は大変なので1番だけの解答でも大丈夫です。
よろしくお願いします。
1: import java.awt.event.*;
2: import java.awt.*;
3: import java.io.*;
4: import java.net.*;
5:
6: public class Test72 {
7: private MyCanvas c;
8: private BufferedWriter bw;
9: private BufferedReader br;
10:
11: public static void main( String[] args ) {
12: Test72 t72 = new Test72();
13: t72.doEvent();
14: }
15:
16: Test72(){
17: Frame f = new Frame( "Test72" );
18: f.setSize(640,480);
19: f.addWindowListener( new WindowAdapter() {
20: @Override public void windowClosing( WindowEvent e ) {
21: try {
22: bw.write( "quit" );
44
23: bw.flush();
24: bw.close();
25: br.close();
26: } catch( Exception e2 ) {}
27: System.exit( 0 );
28: }
29: });
30: c = new MyCanvas();
31: c.addMouseListener( new MouseListener() {
32: @Override public void mouseClicked( MouseEvent e ) {
33: try {
34: bw.write( "setOval " + e.getX() + " " + e.getY() + "¥n" );
35: bw.flush();
36: c.setPoint( e.getX(), e.getY() );
37: } catch( Exception e2 ) {}
38: }
39: @Override public void mouseEntered( MouseEvent e ) {}
40: @Override public void mouseExited( MouseEvent e ) {}
41: @Override public void mousePressed( MouseEvent e ) {}
42: @Override public void mouseReleased( MouseEvent e ) {}
43: });
44: c.addMouseMotionListener( new MouseMotionListener() {
45: @Override public void mouseDragged( MouseEvent e ) {
46: try {
47: bw.write( "setOval " + e.getX() + " " + e.getY() + "¥n" );
48: bw.flush();
49: c.setPoint( e.getX(), e.getY() );
50: } catch( Exception e2 ) {}
51: }
52: @Override public void mouseMoved( MouseEvent e ) {}
53: });
54: f.add( c );
55: f.setVisible( true );
56: }
57:
58: public void doEvent() {
59: try {
60: InetSocketAddress socketAddress =
61: new InetSocketAddress( "localhost", 8000 );
62: Socket socket = new Socket();
63: socket.connect( socketAddress, 10000 );
64: InetAddress inadr;
65: if( ( inadr = socket.getInetAddress() ) != null ){
66: System.out.println( "Connect to " + inadr );
67: } else {
68: System.out.println( "Connection failed" );
69: System.exit( 0 );
70: }
71: bw = new BufferedWriter(
new OutputStreamWriter( socket.getOutputStream() ) );
72: br = new BufferedReader(
new InputStreamReader( socket.getInputStream() ) );
73: } catch( Exception e ) {}
74: }
75: }
No.3ベストアンサー
- 回答日時:
ひとつずつ調べて、ネットワークに送信するメソッドがどれか特定する
↓
そのメソッドで送信されるのはどんな文字列か調べる
という手順で追いかけてください。
その上で、わからない点があれば、そのわからない箇所がどのように理解できないのか、具体的に示してください。
たとえば
f.setSize(640,480);
は
f→ Frameのインスタンス
→Frame.setSizeメソッドのマニュアルを読む
→ネットワークに関係ない
とわかりますよね?
これすらわからない、というのなら、理解が足りないです。教科書を戻って理解できるまで復習してください。
こういう手間をかける気が無い、という場合は、プログラミングに向いてません。
No.2
- 回答日時:
1もやりかたは同じです。
熟練者なら、一通り眺めるだけでわかるかもしれませんが、
そうでないなら、一つずつ確認するだけです。
No.1
- 回答日時:
2番も簡単です。
そのcatchに対応するtryの中にあるものについて、マニュアルで調べるだけですから。
26行なら
bw.write( "quit" );
bw.flush();
bw.close();
br.close();
の4つが対象。
private BufferedWriter bw;
private BufferedReader br;
なのだから、BufferdWriter,BufferdReaderのそれぞれのメソッドのマニュアルを読めばいい。
例えば、
bw.write("quit") なら、 BufferWriterのマニュアルを読む
http://docs.oracle.com/javase/jp/6/api/java/io/B …
ここにwrite(String)というメソッドは無いが、Writerから継承されるものとして write(String) があるので、Writerのマニュアルを読む。
http://docs.oracle.com/javase/jp/6/api/java/io/W …
> 例外:
> IOException - 入出力エラーが発生した場合
発生する例外と、その内容が簡単に書いてある。
あとは、おなじみの 「NullPointerException」
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
プログラミングの問題です。大...
-
問題作成のWebアプリの作り方を...
-
eclipseで作ったプログラムを他...
-
eclipse実行ができない
-
Processingでマウスクリックで...
-
JAの支部?地域の農協のカード...
-
正規表現について質問です。 カ...
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
キー入力について
-
jdk17.06のインストーラーが起...
-
JSFタグのfタグとは
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
マイクラでPythonのプログラミ...
-
配列にnullを代入すると、null...
-
jdk17.06のインストーラーが起...
-
Eclipse 動的プロジェクトで404...
-
list の空は [] ってあわらすのに
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
正規表現について質問です。 カ...
-
eclipseで作ったプログラムを他...
-
改行含むテキストの表示の仕方
-
リレーションエンティティクラ...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
キー入力について
-
自作Androidアプリのデータ引き...
-
問題作成のWebアプリの作り方を...
-
eclipse実行ができない
-
変数名とDBカラム名の関係性に...
-
デバッグツールの具体例を教え...
おすすめ情報