トップページ⇒tech
1001コメント464KB

★★ Java の宿題ここで答えます Part 55 ★★

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/01/26(木) 22:23:29
【Java宿題スレッド基本ルール・五箇条の御誓文】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver  】希望するJavaバージョンがあれば書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)

【回答プログラムの掲載場所】
Java質問スレWiki  http://www.wikiroom.com/java/
ソースポストネット  http://sourcepost.sytes.net/

【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/1133778112/
0153デフォルトの名無しさん2006/02/01(水) 00:05:06
みなさ〜んテンプレに従わない輩は無視ですからね〜
0154デフォルトの名無しさん2006/02/01(水) 00:07:30
天ぷら!!
01551522006/02/01(水) 00:20:45
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
追加です、行が多いんで。朝までにおねがいします。
0156デフォルトの名無しさん2006/02/01(水) 00:22:01
こいつまかせて寝る気だぞ
朝、呆然としてる>>152が楽しみだ
0157デフォルトの名無しさん2006/02/01(水) 00:23:36
逆に皆で書きまくってどれをコピペすればいいのか迷わせるのも手かと。
0158デフォルトの名無しさん2006/02/01(水) 00:29:01
でもみんな間違ってるみたいなw
0159デフォルトの名無しさん2006/02/01(水) 00:30:02
つーかこいつevent.*インポートして何したいんだろうな
0160デフォルトの名無しさん2006/02/01(水) 00:37:33
event.* = 画像が動く。
0161デフォルトの名無しさん2006/02/01(水) 04:17:31
>>156-160
せっかく課題を出してくれてる人を茶化してどうするんだ。
このスレの序列は

課題を出す人 >>>>> 回答プログラムを書く人 >>>>
コードを書かずに薀蓄だけの人 >>>> 傍観者

だ。勘違いも程ほどに。
0162デフォルトの名無しさん2006/02/01(水) 08:17:38
回答はボランティアだ。

勘違いも程々に
0163デフォルトの名無しさん2006/02/01(水) 10:26:38
>>140 ありがとうございました。StringBuilder クラスははじめてみたので、
StringBufferクラスに置き換えましたが…
0164デフォルトの名無しさん2006/02/01(水) 11:30:47
>>18です
課題提出が明後日なので
答えて頂ける方おりませんでしょうか?
自分もいろいろ考えたんですが全くわからないので
お願いします。
0165デフォルトの名無しさん2006/02/01(水) 12:32:52
>>161
別にこっちとしては問題なくてだらだらやってるだけでもいいから
出題者は最上位じゃない
気に入らなければやらない
特にテンプレに従わないのはやらない
0166デフォルトの名無しさん2006/02/01(水) 15:42:44
やっぱ2chってくだらない輩の集まりか。
働けボケが
0167デフォルトの名無しさん2006/02/01(水) 15:53:22
回答得られなかったからって・・( ´,_ゝ`)プッ
そのセリフそっくりそのまま返しますよ
ちなみに自分は大学生で試験期間ですがもう試験は終わりました
0168デフォルトの名無しさん2006/02/01(水) 16:53:49
【課題】DOMを使い
クラスの数
クラス当たりのメソッドの数
アクセス属性毎の数
属性の数
メソッドの行の数
メソッド毎のメソッド呼び出しの数
をXMLから取り出しテキストファイルに出力するプログラムを作成せよ。

【Ver】j2sdk1.4.2
【期限】2月2日午前中です 時間が無くてすいません
0169デフォルトの名無しさん2006/02/01(水) 17:09:37
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class reidai14 extends Applet implements Runnable,KeyListener,ActionListener {
Thread th = null;
int x=10, y=200, vx=10, vy=10, xl=65, yl=65;
int px=300, py=500, vpx=10, pl=64;
int xmin=0, xmax=600, ymin=0, ymax=500;
int sleep_time = 128;
int n=2;
Button bt1,bt2;
Image img;
public void init() {
img = getImage(getDocumentBase(),"img1.jpg");
bt1 = new Button("スタート");
bt2 = new Button("ストップ");
add(bt1);
add(bt2);
bt1.addActionListener(this);
bt2.addActionListener(this);
requestFocus();
addKeyListener(this);
}
public void start() {
if (th == null) {
th = new Thread(this);
th.start();
}
}  前半
0170デフォルトの名無しさん2006/02/01(水) 17:12:07
>>168
問題の意味がいまいち不明なのですが・・・・
ソースコードから、XML要素を取り出すとはどういう事ですか?

0171デフォルトの名無しさん2006/02/01(水) 17:17:03
public void run() {
while (th != null) {
if(n == 1) {
if (x <= xmin || x >= xmax-xl) vx = -vx;
if (y <= ymin ) vy = -vy;
if (y >= ymax-yl) {
if( px-xl < x && px+pl > x ) vy = -vy;
}
x = x+vx;
y = y+vy;
if(y > ymax+100) th = null;
repaint();
}
try {
th.sleep(sleep_time);
}
catch(InterruptedException e){}
}
}
public void paint(Graphics g) {
g.setColor(Color.black);
g.drawLine(xmin,ymin,xmin,ymax);
g.drawLine(xmin,ymin,xmax,ymin);
g.drawLine(xmax,ymin,xmax,ymax);
g.setColor(Color.red);
g.drawLine(px,py,px+pl,py);
g.drawImage(img,x,y,this);
}
 つづきです
0172デフォルトの名無しさん2006/02/01(水) 17:21:37
public void stop( ) {
if (th != null) {
th = null;
}
}
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_RIGHT : px=px+vpx; if(px > xmax-pl) px=xmax-pl; break;
case KeyEvent.VK_LEFT : px=px-vpx; if(px < xmin) px=xmin; break;
}
repaint();
}
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e) { }
public void actionPerformed(ActionEvent e) {
if(e.getSource() == bt1) n=1;
else n=2;
requestFocus();
}
}
スタートボタンを押すと,600×500 ピクセル上のあちこちに,画像が
20回だけ表示される。画像の表示間隔は最初の 5回が 900ミリ秒,10回
までが800ミリ秒,15回までが 700ミリ秒,20回までが 600ミリ秒とし,
画像が表示されている間にその画像の上をマウスでクリックすると得点が
加算され,ステータス行に現在の得点を表示する。ゲームが終わったら
「ゲームオーバー,あなたの得点は〜点です」という表示が画面上に
されて終わりになるようなゲームを作成せよ。
今週までです、全然わからないのでおねがい。
0173デフォルトの名無しさん2006/02/01(水) 17:35:11
>>172
もう完成してるようですが・・・・
01741682006/02/01(水) 17:38:54
>>171さん
ありがとうございます。

あらかじめJavaのソースを(何でもよい)をJavaMLをつかいXMLに変換をしています。
そのXMLからクラスの数etcを取り出す

言葉足らずで御免
01751722006/02/01(水) 17:41:24
これを改造するんです。おねがいします。
0176ザイン帝國軍帥・伯壬旭(小島露観)2006/02/01(水) 22:33:31
>>149
http://www.wikiroom.com/java/index.php?SourcePost___

ここに回答を貼りました。環境はTomcatとMySQLです。
MySQLの使用database名は「homework」です。JSTLを使用してます。
構成は以下の通りです。

WEBアプリのルートディレクトリ
  WEB-INF
    lib ― jstl.jar と standard.jar(JSTLのJarファイル)
    jsp ― start.jsp と tablelist.jsp と table.jsp
    web.xml
0177デフォルトの名無しさん2006/02/01(水) 23:52:46
String[] que=int String[]{"問1","問2","問3","問4","問5"};
String[] ans=int String[]{"選1","選2","選3","選4","選5"};

●メニューの「書込」によって上(qus・ans)のデータをレコードに保存し、
「読込」によってレコードに保存↑したデータを表示せよ。

MIDP2.0 J2ME

明日の昼までです。宜しくお願いします。時間がなくてすみません(>_<")
0178デフォルトの名無しさん2006/02/02(木) 00:13:26
宿題ではないのですが・・・独学でJavaをやり始めた者です。
九九表を作りたいのですが
12345
246810
・・・・
という風に作りたいのにどうしても
1
2
3
4
と縦に並んでしまいます。
基本中の基本なのでしょうが本当に分からないのでどなたか教えてください。
お願いします。
0179デフォルトの名無しさん2006/02/02(木) 00:15:03
http://winnie.kuis.kyoto-u.ac.jp/~okuno/Lecture/04/DataStructure/java/Knapsack.html

このプログラムってどう思う?

素直な意見をきかせてくれ。

0180デフォルトの名無しさん2006/02/02(木) 00:16:10
>>178
System.out.print
System.out.println
0181デフォルトの名無しさん2006/02/02(木) 00:25:16
>>180
ハッ・・・・・ですよね、すっかり忘れていました。
どうもありがとうございました。
0182デフォルトの名無しさん2006/02/02(木) 00:55:57
あげ
0183デフォルトの名無しさん2006/02/02(木) 01:18:21
iアプリですが、どうか助けてください・・・
【 課題 】四則計算(電卓)
【 用語 】
【 期限 】すでにすぎてます・・・
【 Ver  】DOJA4.1
【 補足 】 丸投げです、四則計算は足し算、引き算のみで再現しなさいと条件が付いています
01841212006/02/02(木) 03:17:51
>>121です。
返答が遅くなって申し訳ございません。
>>151ありがとうございました。
しかし、
private LinkedHashMap<Data, Integer>() distribution = new LinkedHashMap<Data, Integer>();
のところに”<identifier>がありません”というエラーが出てしまいます。
お手数ですが、別の方でも構いませんので、正しく直せる方、よろしくお願いいたします。
0185デフォルトの名無しさん2006/02/02(木) 03:28:48
【 課題 】「歩く」がテーマの、いくつかのキーフレームを中割法で内挿して作る
キーフレームアニメーションを作れ。アニメーションの
ボタン操作などでスピードを変化できるようにすること
【 期限 】2月3日
【 補足 】はっきり言って課題の意味すら良く分かりません。よろしくお願いします
0186ザイン帝國軍帥・伯壬旭(小島露観)2006/02/02(木) 05:01:58
>>168
http://www.wikiroom.com/java/index.php?SourcePost___

ここに回答を貼りました。
0187ザイン帝國軍帥・伯壬旭(小島露観)2006/02/02(木) 05:04:18
>>168
プログラム引数で読み込みXMLファイル名を指定してください。
実行すると、output.txt に結果が書き込まれます。
01881512006/02/02(木) 06:04:37
>184
ヴァージョンの指定がなかったので、JDK5.0使ってます。
もう今から外に出るので、自分でなんとかするか人に頼ってください。
0189デフォルトの名無しさん2006/02/02(木) 07:34:46
>>18
課題お願いします。
01901682006/02/02(木) 07:38:42
ザイン帝國軍帥・伯壬旭(小島露観)様ありがとうございます。
一晩中やっていましたがどうにもならずにおりました。

>プログラム引数で読み込みXMLファイル名を指定してください。
コマンドプロンプトで
java HW114 test.xml
の入力で大丈夫ですよね?

出力されたtxtには
:ソースコード
とのみ出力されています。

XMLファイルにはclassとかはあります。(以下XMLの最初の方のみ出してます)
<?xml version="1.0" encoding="UTF-8" ?>
- <java-source-program xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F:\javaML\xml\javaml-2.xsd">
- <java-class-file name="C:/test/sample.java">
<import module="java.io.*" />
- <class name="sample" id="Lsample;" idkind="type">

6時頃からまた悩んでいます。
01911682006/02/02(木) 07:41:41
190ですが、訂正を
>java HW114 test.xml
は
java HW114 sample.xml
の入力間違いです。
0192デフォルトの名無しさん2006/02/02(木) 10:32:31
>>190
http://www.wikiroom.com/java/index.php?SourcePost___
を
少し修正したので、もう一度試してみてください。
0193デフォルトの名無しさん2006/02/02(木) 10:36:34
JavaMLのPDFにあった、このサンプルでテストしたら成功したのですが。。。

<?xml version="1.0" encoding="UTF-8"?>
<java-source-program name="FirstApplet.java">
<import module="java.applet.*"/>
<import module="java.awt.*"/>
<class name="FirstApplet" visibility="public">
<superclass class="Applet"/>
<method name="paint" visibility="public" id="meth-15">
<type name="void" primitive="true"/>
01941772006/02/02(木) 10:46:27
早めにお願いします
0195デフォルトの名無しさん2006/02/02(木) 14:34:46
【 課題 】試験の点数(0〜100の整数値)を読み込んで平均を出すプログラム。
点数の入力の終わりは文字列”END”の入力で示す。
正常でない入力に対しては警告を出す。
【 期限 】できるだけ早くお願いします

初歩ですみませんがお願いします。
購入した入門書では最初に人数を入力する方法しか
載っていなかったので分かりませんでした。
すみませんが、教えてください。
0196ザイン帝國軍帥・伯壬旭(小島露観)2006/02/02(木) 14:53:28
>>172
http://www.wikiroom.com/java/index.php?SourcePost___

ここに貼りま
0197デフォルトの名無しさん2006/02/02(木) 16:23:01
次の行列計算をjavaで組みなさい。

        0.3 0.5 0.2  3     
(1.0、0)( 0.4 0.3 0.3 )  ※3は3乗
        0.2 0.3 0.5 

for文と配列のみで組むこと。
0198デフォルトの名無しさん2006/02/02(木) 17:11:23
>>195
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26981
01991682006/02/02(木) 17:20:42
私の方では未だ同じ状態です。もう時間を過ぎていますが、最後までやりたいと思いますのでお時間頂けたらと思います。

193さんが出来ていますので、私のJavaMLの設定が問題かと考えています。
http://paginas.fe.up.pt/~aaguiar/javaml/javaml-2.0-RC5.zip
をダウンロードし、jikes.exeと
cygwinのcygwin1.dllをクラスパスのある同じフォルダに入れて、そのフォルダの中でjikes.exe +ux FirstTest.java
を行い、出来たXMLファイルをコマンドプロンプトから
java HW114 FirstTest.java.xml
と行い、output.txtが出来ます。しかし中を見ると同じ
:ソースコード
となります。
02001952006/02/02(木) 17:23:30
>>198
有難うございました。とても助かりました。
0201デフォルトの名無しさん2006/02/02(木) 17:36:44
>>199
すみませんが、XMLファイルをここにコピペしてください。
02021682006/02/02(木) 17:37:51
上はこれを参照して行いました。
http://samurai.pose.jp/java/archives/2004/12/javaml.php


で午後からもう一つやってみたのがこちら(こちらの方が古いようですが)から
http://www.badros.com/greg/JavaML/javaml-for-jikes-1.12.tar.gz
#でもこの中のbadros-javaml-www9.pdfと193さんのXMLが違うようです。

jikes-xmlの設定が必要な様ですがよくわかっていません。以下jikes-xml
#!/bin/sh -
CLASSPATH=$CLASSPATH:/usr/lib/netscape/java/classes/java40.jar:/usr/lib/netscape/473/netscape/java/classes/java40.jar:.; export CLASSPATH
# +ulx is needed to get column information
# +ux for no column information
# +c for comment
JIKES_PATH=$HOME/jikes-1.12/src/jikes
#exec $JIKES_PATH -nowrite +c +B +ulx "$@"
exec $JIKES_PATH -nowrite +B +ux "$@"

また別にjava40.jarが必要なのか?
0203デフォルトの名無しさん2006/02/02(木) 17:43:39
>>202
よろしければソースコードを変換した「XMLファイル」をここにコピペしてください。
それで試してみます。
0204デフォルトの名無しさん2006/02/02(木) 18:05:59
>>197の1×2行列と3×3行列のかけ算ができないのは私だけでしょうか?
02051682006/02/02(木) 18:10:24
203デフォルトの名無しさん有り難うございます。
小さいのでもこのまま貼り付けると大きいと怒られたので、下記にてお願いします。
http://www.wikiroom.com/java/index.php?plugin=attach&pcmd=open&file=AppletFrame.java.xml&refer=%A5%BD%A1%BC%A5%B9%C5%BD%C9%D5%A4%B1
02061682006/02/02(木) 18:12:24
201デフォルトの名無しさんが抜けておりました。失礼しました。
0207デフォルトの名無しさん2006/02/02(木) 19:26:09
>>205
http://www.wikiroom.com/java/index.php?SourcePost___
を
少し修正したので、もう一度試してみてください。

0208デフォルトの名無しさん2006/02/02(木) 20:03:27
>>168
人にレス返すときは

>>レス番号

という風に書いてくれ。読みにくい。
0209デフォルトの名無しさん2006/02/02(木) 20:17:14
【 課題 】コマンドライン引数として2進数を1つ受け取って
      その値を10進数として表示するプログラム、Sample1.javaを作成しなさい。
      なお、try、catchのブロックを付け加え、例外処理も行うこと。
【 期限 】2月6日までにお願いします。
【 補足 】切羽詰ってます。丸投げですいませんがお願いします。
0210デフォルトの名無しさん2006/02/02(木) 20:27:39
>209
// BinaryToDecimal.java
public class BinaryToDecimal {
public static void main(String[] args) {
if( args.length != 1 ) {
System.out.println( "使いかた:java BinaryToDecimal [2進数]" );
return;
}
try {
int binary = Integer.parseInt( args[0], 2 );
System.out.println( binary );
} catch( NumberFormatException nfe ) {
System.out.println( "2進数ではありません:" + args[0] );
}
}
}
0211デフォルトの名無しさん2006/02/02(木) 20:27:46
【課題 】入力した7つの数値から最大と最小の値を除いた後、
     平均値を求めるプログラムを作成しなさい

 7つの数値にはコマンドライン関数を用いること。

【 期限 】2月12日

【 補足 】お手数ですが、どうぞよろしくお願い致します。
02121682006/02/02(木) 20:33:48
207デフォルトの名無しさん本当に有り難うございました!!!
ソースファイル:
クラスの数:1
クラス名:AppletFrame
メソッドの数:2
publicメンバの数:2
メソッド名:startApplet
ステートメントの数:5
メソッド呼出の回数:8
メソッド名:processEvent
ステートメントの数:2
メソッド呼出の回数:2
無事私の方でも出ました。
ご協力いただいた皆様有り難うございました。
0213デフォルトの名無しさん2006/02/02(木) 20:40:02
>211
// AverageDemo.java
import java.util.Arrays;
public class AverageDemo {
public static void main(String[] args) {
if( args.length != 7 ) {
System.out.println( "使いかた:java AverageDemo [数値1] [数値2] ... [数値7]" );
return;
}
double[] numbers = new double[7];
boolean isError = false;
for( int i=0; i<numbers.length; i++ ) {
try {
numbers[i] = Double.parseDouble( args[i] );
} catch( NumberFormatException nfe ) {
System.out.println( "数値ではありません:" + args[i] + "(第" + (i+1) + "引数)" );
isError = true;
}
}
if( isError ) return;
Arrays.sort( numbers );
System.out.println( "最小値:" + numbers[0] );
System.out.println( "最大値:" + numbers[numbers.length-1] );
double sum = 0;
System.out.println( "上記を除いた" );
for( int i=1; i<numbers.length-1; i++ ) {
System.out.println( "・" + numbers[i] );
sum += numbers[i];
}
System.out.println( "の平均は " + (sum/(numbers.length-2)) + " です。" );
}
}
0214デフォルトの名無しさん2006/02/02(木) 20:43:31
>>213 様

ご回答頂いてありがとうございます!!
0215デフォルトの名無しさん2006/02/02(木) 21:16:37
>>197
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26983

・・・結果はこれで合ってるのか??
(0.3050 0.3660 0.3290)
02161772006/02/02(木) 21:26:32
助けてください(〒_〒)
0217デフォルトの名無しさん2006/02/02(木) 21:52:56
課題】ある確立にしたがって、ランダムに記号が表示されるプログラムの作成
 (記号 全5種類【◎ ● ○ ▲ ☆ 】)

◎...10% 
●・・・50%
○・・・20%
▲・・・13%
☆・・・7%  の確立で設定されています

【 期限 】2月12日

【 補足 】面倒な設定で申し訳ございません。どうか宜しくお願い致します!
0218デフォルトの名無しさん2006/02/02(木) 22:11:11
>217

package net._2ch.tech;
import java.util.Random;

public class _217 {
 private static final String hoge = "◎◎◎◎◎◎◎◎◎◎●●●●●●●●●●●●●●●●●●●\\
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○\\
○○▲▲▲▲▲▲▲▲▲▲▲▲▲☆☆☆☆☆☆☆";
 private static final Random rnd = new Random( );
 public static void main( final String args[] ){
  final int n = rnd.nextInt( hoge.length( ));
  System.out.println( hoge.substring( n, n + 1 ));
 }
}
02192182006/02/02(木) 22:12:10
あ、コピペミスった。
2個所ある \\改行 は消しといて。
0220デフォルトの名無しさん2006/02/02(木) 22:27:03
 

>>204
すいません、打ちかた間違えました


       0.3 0.5 0.2  3     
(1 0 0)( 0.4 0.3 0.3 )  ※3は3乗
        0.2 0.3 0.5 

1×3行列と3×3行列の掛け算です、すいません。
0221デフォルトの名無しさん2006/02/02(木) 22:34:12
>>219

助かります!
どうもありがとうございました!
02222562006/02/02(木) 23:00:24
>>176様
遅くなりましたがご回答ありがとうございました。
何とかOKを頂けそうです。
0223デフォルトの名無しさん2006/02/03(金) 00:13:41
お、回答率が上がってきたぞ!
02242092006/02/03(金) 00:25:46
>>210 様
ほんとに助かりました。
細かく教えていただいてありがとうございます。
0225デフォルトの名無しさん2006/02/03(金) 00:32:29
【 課題 】GUIをつかってボタンを押されたら入力された実数を1/2にするプログラム
【 期限 】今日(3日)です<(_ _)>

一旦プログラム内で512を与え、整数のみのプログラムを書いてみたのですが。(見よう見まねです)
入力された数を使うやり方と整数ではなく実数の範囲で計算するやり方が分かりません。
今の段階が下です。
どこをどう変えるかだけでもかまいません。丸投げ扱いでもかまいません。
お願いします。
02262252006/02/03(金) 00:34:06
import java.awt.*;
import java.awt.event.*;
public class GUITest implements ActionListener{
public static void main(String args[]){
GUITest test=new GUITest();
}
private TextField field=null;
private GUITest()
{
Frame window=new Frame("GUIからの入力");
Button button=new Button("1/2倍にします");
button.addActionListener(this);
window.add("North",button);
field=new TextField("512");
window.add("Center",field);
window.setSize(200,100);
window.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String d=null,s=null;
s=field.getText();
try{
int i=Integer.parseInt(s);
d=Integer.toString(i/2);
}catch(NumberFormatException nfe){
d="入力は変換できません";
}
field.setText(d);
}
}
0227デフォルトの名無しさん2006/02/03(金) 00:35:24
【課題提示用テンプレ】
【 課題 】1.Webブラウザを動作させているクライアントのOS
(Windows、Mac、UNIX)を判定して画面に表示するのと、
マウスポインタをMENUのどれかに重ねると、文字が大きくなったり、
文字色や背景が変わったりするもの。
【 期限 】提出期限、平成18年2月15日(16日のAM0:00
【 Ver  】希望なし
【 補足 】OSの判定はできました。しかしマウスオーバーの箇所で画像は大きくできるのですが
問題は文字なので文字を大きくする事ができません。
      よろしくお願いします。


0228>>225-2262006/02/03(金) 01:01:25
>>225-226
丸投げ扱いにさせてもらった。

// GUI225.java
package p225;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class GUI225 extends JFrame {
private JTextField txtNumber = new JTextField(10);
private JTextArea taOutput = new JTextArea();

private void btnActionPerformed() {
try {
String numstr = txtNumber.getText();
double half = Double.parseDouble(numstr) /2;
taOutput.append(numstr + "の半分は" + half + "\n");
} catch(NumberFormatException e) {
taOutput.append("数値を入力してください" + "\n");
}
}
private void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());

JPanel jPanel1 = new JPanel(new FlowLayout());
//続く
0229>>225-2262006/02/03(金) 01:03:58
JButton btn = new JButton("半分にする");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btnActionPerformed();
}
});

jPanel1.add(txtNumber);
jPanel1.add(btn);

JScrollPane jScrollPane1 = new JScrollPane(taOutput);

add(jPanel1, BorderLayout.NORTH);
add(jScrollPane1, BorderLayout.CENTER);

Dimension dim = getToolkit().getScreenSize();
setBounds((dim.width-400)/2, (dim.height-300)/2, 400, 300);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GUI225().createAndShowGUI();
};
});
}
}
// コメントや解説がなくて悪いが、以上。
02302252006/02/03(金) 01:55:53
>>228-229
ありがとうございます、とても参考になりました。
0231デフォルトの名無しさん2006/02/03(金) 03:50:41
>>227
>>マウスポインタをMENUのどれかに重ねると

MENUとは具体的に何を指すのか教えてください。
0232デフォルトの名無しさん2006/02/03(金) 03:54:17
>>216
>>177
モバイルの方はやってる人が少ないのでは。。。残念ですが。。。
0233デフォルトの名無しさん2006/02/03(金) 05:02:15
グラフにグリッド入れようとしてるんですが、実数のため一部グリッドの数値が
5.9999....E120 とかいう表示になってしまいます。有効数字3桁で丸めたいの
ですが、倍精度浮動小数点をうまいこと四捨五入できるアルゴリズムって
ないでしょうか?
0234デフォルトの名無しさん2006/02/03(金) 07:27:59
BigDecimal使え
0235デフォルトの名無しさん2006/02/03(金) 07:56:01
分からないなら無理に答えてくれなくて結構です。
っていうか浮動小数点で扱ってるのに BigDecimal って アフォ ですか?
浮動小数点って何か分かってますか?
0236デフォルトの名無しさん2006/02/03(金) 08:02:54
たまに非宿題人が釣りに来るスレですかここは
業務系しかやったことない人間もいる。察してやれ。
0237デフォルトの名無しさん2006/02/03(金) 08:13:05
>>235
BigDecimal調べたんだろうな?
0238デフォルトの名無しさん2006/02/03(金) 08:37:02
オイオイ 308 桁の BigDecimal 扱わせる気か
0239デフォルトの名無しさん2006/02/03(金) 08:44:46
グリッド線引くだけだろ?どうせ、割り算して浮動小数点になっちゃったからって話と思われ。
0240デフォルトの名無しさん2006/02/03(金) 08:58:10
>>233 で出してる例だけでも e120 と出てるが
科学技術演算なら固定小数点で済ますのはちょっと無理がある
そういえば任意精度固定小数点のクラスはあるのに浮動小数点版はないのな
まぁ多言語も科学技術演算はほとんど別ライブラリか
0241デフォルトの名無しさん2006/02/03(金) 09:10:57
ちょっと強引だが Double.doubleToLongBits() で double のビットパターン取り出して
仮数部を自分で丸めてはどうか。実数を有効桁指定で丸めるのは C やってた頃に
よくやってた気がするんだが、もう忘れたw 俺も思い出したい。誰か知ってたらヨロ
0242デフォルトの名無しさん2006/02/03(金) 09:17:02
あれ、ここって宿題スレであってるよな?
0243デフォルトの名無しさん2006/02/03(金) 09:17:12
ん、IEEE 754 見たら仮数部は 2 のべき乗で入ってるのか。なんか大変そうw
0244デフォルトの名無しさん2006/02/03(金) 09:36:08
>>233
四捨五入でよければ、0.5を足して int にキャストをする(小数点以下切捨て)。
というのはどうでしょうか。
02452442006/02/03(金) 09:37:39
有効数字3桁か・・・というか、質問スレじゃなかった_no
みんなゴメンね
0246デフォルトの名無しさん2006/02/03(金) 10:24:25
ちょっとベタだが、算術で仮数部と指数部に分解。
実数値 f、仮数部 a、指数部 b とする。

f = 0 の時は特殊解として省略。b が発散する。

f = a×10^b  ここで b は整数、1≦a<10 とする
両辺の対数を取って log f = b + log a → b = log f - log a
0≦log a<1 より、log f≦log f - log a<1 + log f → floor(log f) = floor(log f - log a)
b は整数より floor b = b
従って b = floor(log f)、a = f ÷ 10^b

後は仮数部 a を 1000 倍して四捨五入して元に戻せば有効数字 3 桁で丸めの
誤差を消せるだろう。まぁ有効数字 3 桁程度なら log 使っても影響はないだろうし。
だがまた double 型に戻すと丸めで同じことになるかもしれないので、このまま
仮数と指数に分けた状態でグリッドに乗せてやるのが良い。
0247デフォルトの名無しさん2006/02/03(金) 10:28:17
間違えた

×log f≦log f - log a<1 + log f → floor(log f) = floor(log f - log a)
○log f≧log f - log a>-1+log f → ceil(log f) = ceil(log f - log a)、ceil b = b = ceil(log f)

だな。
0248デフォルトの名無しさん2006/02/03(金) 10:32:49
(´-`).。oO( 俺もBigDecimalにして丸めればいいと思うんだけど・・・ )
0249デフォルトの名無しさん2006/02/03(金) 10:39:44
非常に曖昧な質問で申し訳ないんですが、皆さんのお知恵を拝借したく質問させていただきます。

大学の期末課題で表計算プログラムを書けというものが出たのですが、ほかのセルに入っている式を
参照する機能がありそれを調べて計算しなおすのにトポロジカルソートを使うようにという事なのですが、ネット、本等で調べても
あまり良くわからず、困っています。何となくの実装の指針だけでも結構ですので教えていただけるとありがたいです。
0250デフォルトの名無しさん2006/02/03(金) 10:43:50
>>249
テンプレで書いて丸投げするか、質問スレ行ったら?

【初心者】Java質問・相談スレッド80【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1138455638/
0251デフォルトの名無しさん2006/02/03(金) 17:26:44
【 課題 】逆行列を求め、その逆行列とほかの行列の掛け算をするプログラムを作成しなさい。
【 期限 】できれば今日中でお願いします。
【 補足 】つくっていただけるとなんでもよいのですが、下のような感じにしていただけると大変助かります。

import java.awt.*;
import java.awt.event.*;

class aiu
{
public static void main(String [] args)
{
double a[][] = {正方行列の宣言}


double b[][] = {正方行列の宣言}
       
       //逆行列を求める。
static void inv(double a[][])
{
逆行列をもとめる
        }

       //求めた逆行列とほかの行列の掛け算をする。
static void kakezan(double a[][], double b[][])
{
行列の掛け算をする。
        }
}

よろしくおねがいします
0252デフォルトの名無しさん2006/02/03(金) 17:35:28
上のやつではいけてませんね。すいませんこちらでよろしくおねがいします。

【 課題 】逆行列を求め、その逆行列とほかの行列の掛け算をするプログラムを作成しなさい。
【 期限 】できれば今日中でお願いします。
【 補足 】つくっていただけるとなんでもよいのですが、下のような感じにしていただけると大変助かります。

class aiu
{
public static void main(String [] args)
{
double a[][] = {正方行列の宣言}
double b[][] = {正方行列の宣言}
gyaku(a)
kake(a,b)
}
//逆行列を求める。
static void gyaku(double a[][])
{
逆行列をもとめる
        }
//求めた逆行列とほかの行列の掛け算をする。
static void kake(double a[][], double b[][])
{
行列の掛け算をする。
        }
}
よろしくおねがいします
■ このスレッドは過去ログ倉庫に格納されています