★★ Java の宿題ここで答えます Part 54 ★★
1 :
:
2005/12/05(月) 19:21:52 【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/1123639475/l50
2 :
デフォルトの名無しさん :2005/12/05(月) 19:23:57
2get禁止
3卓郎っす
4 :
:2005/12/05(月) 19:32:44
何故、丸投げが好ましいのかと言うと、人のソースを読んで それに修正を加えるのは、一から書くのより数倍大変になるのですね。 だから、少しでも自分でプログラムを書いてそれから出そうとするのは 余計なお節介どころか、絶対やって欲しくないお節介になってしまうのですね。
6 :
:2005/12/05(月) 19:37:10
>>1 乙。
何時の間にか、このスレもパート54までになったのか。
宿敵、永遠のライバルC、C++の宿題スレとついに並んだぞ。
さらにJAVAを盛り上げて、このまま追い越したいね。
回答者も増えたし、がんばろう。
>>6 その先には一体何が待ち受けているのであろうか。
幸福か、絶望か。
それとも..
8 :
デフォルトの名無しさん :2005/12/05(月) 19:52:52
スレ立て乙 この1のテンプレはシンプルかつ分かりやすくていい
>6 スレ番の付け方がおかしいだけ。 確か1.4の次に50になった記憶がある。
10 :
デフォルトの名無しさん :2005/12/06(火) 02:08:59
【 課題 】字句解析・構文木
課題.1
-41 * 53 + (5 + 91) / (23 - (7 + 11))
などのような整数の加減乗除を記述した文字列から
数値や演算子を取り出し、木構造を生成する。
課題.2
上記課題.1で生成された木構造からデータを取り出し、
木構造の表示を行った上で計算結果を表示する。
出力例
calc: -41 * 53 + (5 + 91) / (23 - (7 + 11))
L[L[L[0]R[41]-]R[53]*]R[L[L[5]R[91]+]R[L[23]R[L[7]R[11]+]-]/]+
result: -2154
備考
データの入力は標準入力から一行のみとする。
便宜上数値は 32bit 符号付整数のみを扱う。
割り算で商が整数で表せない場合は商の少数以下を切り捨てる。
木構造は二分木を用い、ノードに演算子、左項をノードの左の子ノード
右項をノードの右の子ノードとして表現する。項が数値の場合は葉になる
演算子は + - * / の 4 種のみ、優先順位は 「()」 > 「* /」 > 「+ -」。
同じ順位のものが連続する場合は左、もしくは右から評価する。
(どちらからでも良いが、作成したプログラム中ではどちらかに統一すること)
【 期限 】提出日 12月9日
【 Ver. 】1.4.2
【 補足 】丸投げです。すみません。
こちらのサイトにうpして頂けるとあり難いです。
ttp://www.wikiroom.com/java/
13 :
デフォルトの名無しさん :2005/12/06(火) 08:31:10
【 課題 】jeg画像を読み込み、縦横のピクセル数を取得し、指定ピクセル(今回は画像の中央)での RGB値を得るプログラム。RGB値は0〜255の範囲で返すこと。 【 期限 】12月7日朝まで 【 Ver. 】1.5 【 補足 】お願いします。
JPEGライブラリの使用とか著作権とか気にしなくていい?
>>13 とっても手抜き、動作確認お願いします。
引数で画像ファイルを指定してください。
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class T54_13 {
public static void main(String[] args) throws IOException {
BufferedImage image = ImageIO.read(new File(args[0]));
int x = image.getWidth()/2;
int y = image.getHeight()/2;
int rgb = image.getRGB(x, y);
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = rgb & 0xFF;
System.out.println("FILE(\""+args[0]+"\")");
System.out.println("SIZE("+image.getWidth()+","+image.getHeight()+")");
System.out.println("POS ("+x+","+y+")");
System.out.println("RGB ("+r+","+g+","+b+")");
}
}
16 :
デフォルトの名無しさん :2005/12/06(火) 10:07:21
>>12 JPEGライブラリ、画像は何でもいいです。
17 :
デフォルトの名無しさん :2005/12/06(火) 10:07:58
18 :
デフォルトの名無しさん :2005/12/06(火) 10:12:42
>>15 動作確認しました。アプレットでFILEを開かなくて、img = getImage(getCodeBase(),"test.jpg")として読み込んでアプレットで読み込んだ画像を表示出来るようにできますか?
また、このプログラムにColorModel cm = ColorModel.getRGBdefault();を入れ、RGBの値を得ることは出来ますか?
忙しい中、注文多くてすいません。
どうでもいいけど、テンプレで【課題】が<必須>って当たり前のような気がするが。 課題が書いてなきゃどうしようもないしw
課題 】Canavs上で描いた絵、文字をJPEGファイルで保存できるようにする。 【 期限 】提出日 12月8日 【 Ver 】Eclipse SDK 3.1.1 j2SDK1.4.2 【 補足 】プログラムを始めて一ヶ月ほどのものです 丸投げですが、宜しくお願いします。
21 :
デフォルトの名無しさん :2005/12/06(火) 13:35:35
>>19 すいませんでした。教授に口で問題を言われて、プリントが無いんです。
でも、
>>15 のプログラムでいいのですが、アプレットで画像を表示しないといけないんです。
アプレットビュアーを用いて読み込んだ画像を表示するプログラムをお願いします。
プリントが無いので、問題文を提示できないので申し訳無いですが。
>>13 も自分なりに課題を書いてみたので、伝わりにくくてすいません。
22 :
デフォルトの名無しさん :2005/12/06(火) 13:58:33
ZipOutputStreamを使ってファイルを出力しています。 zip内に含めるファイルのファイル名に全角文字を使うと文字化けが起きてしまいます。 解決方法がわからずこの場を借りて質問させていただきました。 もしよろしければアドバイス等おねがいいたします。
C 使ってから Java 浸かってみるとやっぱり Java って「ぬるま湯」だよなぁ
26 :
デフォルトの名無しさん :2005/12/06(火) 22:11:42
前スレ
>>995 Bmp2Jpeg.java:52: シンボルを解決できません。
シンボル: メソッド add (Bmp2JpegCanvas)
場所 : java.awt.Container の クラス
getContentPane().add(canvas);
^
Bmp2Jpeg.java:109: Canvas の Canvas(javax.swing.JFrame) は () に適用できません。
Bmp2JpegCanvas(String f, int w, int h){
^
Bmp2Jpeg.java:118: シンボルを解決できません。
シンボル: メソッド addMouseListener (Bmp2JpegCanvas.Listener_MouseClick)
場所 : Bmp2JpegCanvas の クラス
addMouseListener(listener_MouseClick);
^
Bmp2Jpeg.java:119: シンボルを解決できません。
シンボル: メソッド addMouseMotionListener (Bmp2JpegCanvas.Listener_MouseMotion)
場所 : Bmp2JpegCanvas の クラス
addMouseMotionListener(listener_MouseMotion);
^
27 :
26 :2005/12/06(火) 22:12:13
Bmp2Jpeg.java:135: シンボルを解決できません。 シンボル: メソッド drawImage (java.awt.image.BufferedImage,int,int,Bmp2JpegCanvas) 場所 : java.awt.Graphics2D の クラス g2.drawImage(bi, 0, 0, this); ^ Bmp2Jpeg.java:147: シンボルを解決できません。 シンボル: メソッド repaint () 場所 : Bmp2JpegCanvas.Listener_MouseMotion の クラス repaint(); ^ Bmp2Jpeg.java:164: シンボルを解決できません。 シンボル: メソッド repaint () 場所 : Bmp2JpegCanvas.Listener_MouseClick の クラス repaint(); ^ Bmp2Jpeg.java:166: シンボルを解決できません。 シンボル: メソッド getSize () 場所 : Bmp2JpegCanvas.Listener_MouseClick の クラス Dimension d = getSize(); Bmp2Jpeg.java:169: シンボルを解決できません。 シンボル: メソッド repaint () 場所 : Bmp2JpegCanvas.Listener_MouseClick の クラス repaint(); 俺のヴァージョン古いだけかもしれないです。すません
どのバージョン使ってるの?
29 :
26 :2005/12/06(火) 22:18:01
CPad for Java2 SDK version 2.31です
CPad for Java2 SDK は使ったことないけど統合環境だろうから そいつのバージョンに依存するとは思えないんだよね SDK は 1.4.2_10 ですか?
31 :
26 :2005/12/06(火) 22:28:02
j2sdk1.4.2_08です
ちなみにうちは 1.4.2_06 1.5.0_02 どちらでも動いている あと、import の個別に書いてある行をまとめて * で省略したらだめだよ。
33 :
26 :2005/12/06(火) 22:35:49
はい、もうちょっと自分で粘ってがんばってみます スレ汚しすいませんでした。
34 :
デフォルトの名無しさん :2005/12/06(火) 23:53:04
処理終了後のcnt1,cnt2の内容を記述せよ。 開始 ⇒@ 0→cnt1 ⇒A 0→cnt2 ⇒B 0→x ⇒C x+1→x ⇒D xが10より大きいときに終了、xが10以下のときEへ ⇒ETA(x)が0より小さいときにGへ、0より大きいときにFへ、0と等しいときにBとCの間へ ⇒Fcnt1+1→cnt1、BとCの間へ ⇒Gcnt2+1→cnt2、BとCの間へ 表TAの要素 TA(1) 4 TA(2) −2 TA(3) 6 TA(4) 0 TA(5) 0 TA(6) 3 TA(7) 4 TA(8) 15 TA(9) 0 TA(10)−3 この流れ図をJavaのプログラムに書き直せというのなんですが、流れ図が見にくいと思いますが明日の朝までなのでよろしくお願いします。
無条件ジャンプしか出来ないアセンブラみたいな流れ図だな Javaで作る意味なし
流れ図の通りに一行づつ作る必要があるの? それとも等価ならifとかforとかwhileとか何使ってもいいの?
37 :
デフォルトの名無しさん :2005/12/07(水) 00:10:14
>>34 public class Hoge{
int TA[] = {0, 4, -2, 6, 0, 0, 3, 4, 15, 0, -3}; // TA[0] はダミー
static public void main(String[] args){
int cnt1 = 0;
int cnt2 = 0;
for(int x = 1; x <= 10; x++){
if(TA[x] > 0) cnt1++;
else if(TA[x] < 0) cnt2++;
}
System.out.println("cnt1 = " + cnt1 + ", cnt2 = " + cnt2);
}
}
39 :
デフォルトの名無しさん :2005/12/07(水) 02:49:03
>>13 の訂正です
【 課題 】test.jeg画像を読み込み、縦横のピクセル数を取得し、指定ピクセル(今回は画像の中央)での
RGB値を得るプログラム。RGB値は0〜255の範囲で返すこと。読み込んだ画像をアプレットで表示すること。
【 期限 】12月7日朝まで
【 Ver. 】1.5
お願いします。
【 課題 】5×5の座標をfor文を使い、(1,1)〜(5,5)まで25個を表示しなさい 【 Ver. 】1.5
42 :
987 :2005/12/07(水) 10:58:43
43 :
デフォルトの名無しさん :2005/12/07(水) 11:12:44
【課題】Canvasクラスを使い、図形を描画するプログラムを作成。(図形は何でも良い。) その時、レイアウトを用いて、Canvasクラスの上部にLabelクラスを配置し、 描画した絵のタイトルを記述すること。 【期限】12月7日午前中 【補足】しつこくすみません!丸投げで申し訳ありません。どうかお願い致します。
>>42 宿題スレPart53(ダブルバッファリング Wig.java のみ修正UP)
>>972 ↑ダブルバッファリングしたもの
宿題スレPart53(3個に対応 Wig.java のみ修正UP)
>>972 ↑上と同じだがダブルバッファリングしていないもの
宿題スレPart53(Wig MovingObject)
>>972 ↑後半の MovingObject.java が上の2つにも必要
46 :
43 :2005/12/07(水) 13:57:48
ありがとうございます!
47 :
921 :2005/12/07(水) 15:08:26
>iとjは演算子、lは格納、 kは表示 ('A`)
49 :
デフォルトの名無しさん :2005/12/07(水) 16:09:36
【課題】ファイル中の,特定の文字列が含まれる行だけ抜き出して表示するような文字列検索 プログラムSearchStringを作ってください. 表示する行には,その行が何行目なのかも一緒に表示してください.最初の行は1行目とします. 検索する文字列とファイル名は引数で与えること. myfile(という名前のファイル)から"tion"という文字列を含む行を検索する場合, 以下のように実行します. 以下の結果は30行目と43行目にtionを含む行があったことを示しています. $ java SearchString tion myfile 30:your question is .. 43:reputation ... $ ヒント: 文字列中から文字列を検索するにはStringクラスのindexOf(String)メソッドを使うと 簡単です. indexOfで返される「インデックス」とは,a.indexOf(b)で「bがaの何文字目から始まるか」と いう値のことです. "ABCD".indexOf("AB") == 0 になります (0文字目から始まるので) 【期限】期限12月12日 丸投げですがよろしくお願いします。
>>48 ではないけれど、人に見せるならもう少し変数名をわかりやすくしてください
無駄なコメントが多くて必要なコメントが足りていません
51 :
デフォルトの名無しさん :2005/12/07(水) 16:13:53
さあ、はやく回答するがよい!
>>49 かなり手抜きです、動作確認お願いします。
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class SearchString {
public static void main(String[] args) throws IOException {
String searchText = args[0];
Scanner reader = new Scanner(new File(args[1]));
for(int lineNumber=1; reader.hasNextLine(); lineNumber++) {
String lineText = reader.nextLine();
if (lineText.indexOf(searchText) != -1) System.out.printf("%d:%s\n", lineNumber, lineText);
}
}
}
53 :
20 :2005/12/07(水) 17:25:54
御回答ありがとうございます。
54 :
ラムネ :2005/12/07(水) 18:14:38
△△△△* △△△*** △△***** △******* ********* △△△△* △△△△* このプログラムおねがいします、結果がこうなるように
55 :
ラムネ :2005/12/07(水) 18:18:50
* *** ***** * *** ***** * *** ***** * * あとこれもよろしくお願いします^^ 期限が明日までなんでよろしくお願いします
>>47 変更箇所のみ(丸めはコレじゃ意味ないのでやってない)
public class GUI extends JFrame {
int c=1;
boolean sc;
double l=0;//intから変更ね
/*----------------------------------------------------*/
private JButton getBf() {
public void actionPerformed(java.awt.event.ActionEvent e) {
c=1;
sc=false;
}
/*----------------------------------------------------*/
public void number(double a){//intから変更ね
if(sc){
l=l+(a/c);
c *=10;
}else{
l=l*10+a;
}
/*----------------------------------------------------*/
public void enzan(){
c=1;
sc=false;
/*----------------------------------------------------*/
private JButton getBt() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(!sc){
c*=10;
sc=true;
}
}
/*----------------------------------------------------*/
58 :
ラムネ :2005/12/07(水) 18:51:11
まじっすか・・・ トレース結果をがこうなるようにってゆう問題です・・
>>54 import java.io.*;
public class PrintGraph{
public static void main(String[] args) throws IOException
{
System.out.println("△△△△*");
System.out.println("△△△***");
System.out.println("△△*****");
System.out.println("△*******");
System.out.println("*********");
System.out.println("△△△△*");
System.out.println("△△△△*");
}
}
60 :
ラムネ :2005/12/07(水) 19:10:33
確かにできますねwありがとうございます^^けど、今から打つ擬似言語 がヒントなんでそれじゃだめだと・・ ww
小出しにするのうざい、市ね。
62 :
ラムネ :2005/12/07(水) 19:13:15
申し訳ありませんわるぎはないんです・・・初心者なもんで・・
既知外が北野か?
64 :
ラムネ :2005/12/07(水) 19:21:14
■i=1;?;i+ ■j=1;?;j++ ■・"△"表示(改行なし) ■ ■k=1;?;k++ "*"表示(改行なし) ■ 改行 ■ ■ i=1;?;j+1 ■j=1;?;j++ ”△”表示(改行なし) ■・*表示(改行あり) 擬似で書くとこんな感じです・・・ ?のところがわからないとこです・・ よろしくお願いします〜
最も重要な条件を後から追加するような奴には誰も答えんよ
66 :
ラムネ :2005/12/07(水) 19:24:57
本当にもうしわけありません・・ 擬似言語しらないかたもいるかとおもいまして・・
>質問者 お願いだからテンプレ使ってよ。 作った意味がない。
てか、擬似言語知ってようが知ってなかろうが、課題は全文書けよ
こいつ小出しの最高記録を狙ってるのかもな。 あと、何回追加するか見物だな。
70 :
ラムネ :2005/12/07(水) 19:50:08
課題 "△","*"を使用して木を作成 出力結果 △△△△* △△△*** △△***** △******* ********* △△△△* △△△△* ヒント ■i=1;?;i+ ■j=1;?;j++ ■・"△"表示(改行なし) ■k=1;?;k++ "*"表示(改行なし) ■ 改行 ■ ■ i=1;?;j+1 ■j=1;?;j++ ”△”表示(改行なし) ■・*表示(改行あり) 擬似で書くとこんな感じです・・・ ?のところがわからないとこです・・ 提出日12月8日 木曜日です。 よくわからず書き込んでもうしわけありませんでした・・ 以後気おつけます
礼
>>70 i<=5
j+i<=5
k<i*2
i<=2
j<=4
終了
【課題】白地の中に黒で塗りつぶされた四角形のJPG画像を読み込み、四角形の四つ角の座標(x1,y1),(x2,y2),(x3,y3),(x4,y4)を求めなさい。 JPG画像のサイズは240×320に近いサイズの物を使用すること。 【期限】12月8日 【補足】お願いします。
74 :
ラムネ :2005/12/07(水) 20:29:18
デフォルトの名無しさん さんほんとありがとうございます〜
76 :
ラムネ :2005/12/07(水) 20:35:36
課題 "△","*"を使用してツリーを作成しなさい 出力結果 * *** ***** * *** ***** * *** ***** * * 前の問題(70)を参考に答えなさい。 【期限】12月8日 よろしくお願いします〜
77 :
デフォルトの名無しさん :2005/12/07(水) 20:44:48
【課題】コンピュータと対戦するオセロゲームを作成しなさい。途中結果も保存できるようにし、 プログラムにできるだけ多く注釈をつけなさい。なお、Applicationで実装すること。 【期限】12月15日 【補足】丸投げです。よろしくお願いします
>>77 オセロのソースなら探せばいくらでも見つかると思うが……
>>75 基本は■だけです。可能であれば◆の四つ角もと言われています!
80 :
デフォルトの名無しさん :2005/12/07(水) 20:47:22
>>78 Applicationで実装するというのと注釈がわからないんです
オセロは簡単そうに見えて実は思考が難しい
82 :
1/2 :2005/12/07(水) 21:42:00
>>73 取得できるのは■だけです。 image.jpgファイルを同じディレクトリに置いてください。
動作確認よろしくお願いします。
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class T54_73 {
public static void main(String[] args) throws Exception {
BufferedImage image = ImageIO.read(new File("image.jpg"));
System.out.printf("width:%d height:%d%n", image.getWidth(), image.getHeight());
segmentation(image);
Point firstPoint = getFirstPoint(image);
if (firstPoint == null) throw new Exception("四角が見つかりませんでした");
Point secondPoint = getSecondPoint(image, firstPoint);
Point thirdPoint = getThirdPoint(image, firstPoint);
Point fourthPoint = getFourthPoint(secondPoint, thirdPoint);
System.out.printf("(%d,%d)(%d,%d)%n(%d,%d)(%d,%d)", firstPoint.x, firstPoint.y, secondPoint.x, secondPoint.y, thirdPoint.x, thirdPoint.y, fourthPoint.x, fourthPoint.y);
}
// 二値化
static void segmentation(BufferedImage image) {
for(int y=0; y<image.getHeight(); y++) {
for(int x=0; x<image.getWidth(); x++) {
int rgb = image.getRGB(x, y);
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = rgb & 0xFF;
image.setRGB(x, y, (r+g+b) < 384 ? 0xFF000000 : 0xFFFFFFFF);
}
}
}
83 :
2/2 :2005/12/07(水) 21:42:31
// 左上から走査して最初(左上)のポイントを探す static Point getFirstPoint(BufferedImage image) { for(int y=0; y<image.getHeight(); y++) for(int x=0; x<image.getWidth(); x++) if (image.getRGB(x, y) == 0xFF000000) return new Point(x, y); return null; } // 最初のポイントから横に走査して二つ目(右上)のポイントを探す static Point getSecondPoint(BufferedImage image, Point firstPoint) { int x=0; for (x=firstPoint.x; x<image.getWidth(); x++) if (image.getRGB(x, firstPoint.y) != 0xFF000000) break; return new Point(x, firstPoint.y); } // 最初のポイントから縦に走査して三つ目(左下)のポイントを探す static Point getThirdPoint(BufferedImage image, Point firstPoint) { int y=0; for (y=firstPoint.y; y<image.getHeight(); y++) if (image.getRGB(firstPoint.x, y) != 0xFF000000) break; return new Point(firstPoint.x, y); } // 二つ目と三つ目のポイントから四つ目(右下)のポイントを割り出す static Point getFourthPoint(Point secondPoint, Point thirdPoint) { return new Point(secondPoint.x, thirdPoint.y); } } かなり適当なつくり…
マウスイベントで画像をドラッグして、放すと画像が消えるようにするには どうすればいいですか?
85 :
ラムネ :2005/12/07(水) 22:14:10
訂正 出力結果 * *** ***** * でした・・申し訳ありません *** ***** * *** ***** * *
86 :
ラムネ :2005/12/07(水) 22:15:31
訂正 出力結果 * *** ***** * *** ***** * *** ***** * * でした・・申し訳ありません
>>82 全然適当じゃーないです!
俺からみれば完璧です!ありがとうございます!!
>>76 public class a{public static void main(String[] args){for(int a=1;a<=3;a++){for(int b=1;b<=3;b++){for(int c=1;c+b<4;c++)System.out.print("△");for(int c=1;c<b*2;c++)
System.out.print("*");System.out.println();}}for(int a=1;a<=2;a++){for(int b=1;b<=2;b++)System.out.print("△");System.out.println("*");}}}
お前なんかこれで十分だ
89 :
ラムネ :2005/12/07(水) 22:52:51
デフォルトの名無しさん まじでありがとうございます^^
90 :
デフォルトの名無しさん :2005/12/08(木) 01:26:08
【 課題 】チェックボックスグループを使って、1問10点の簡単な3択のクイズを10問。 プッシュボタンで回答を送信すると、成績が表示されるようにしなさい。 【 期限 】12/8 【 Ver 】1.4.2までで 【 補足 】問題は超簡単、てきとうでいいです。
せめて問題と選択肢と答えくらいそっちで用意しろよ
>89 基本的に全員デフォルトの名無しなんだから、レス番号くらい入れろよ
93 :
デフォルトの名無しさん :2005/12/08(木) 01:37:26
>>91 すいません。問題はまだ考えてませんでした。
問題1 1+1は? 選択肢 「1」「2」「3」
問題2 1+3は? 選択肢 「4」「2」「3」
問題3 1+4は? 選択肢 「5」「2」「3」
問題4 1+5は? 選択肢 「6」「2」「3」
問題5 1+6は? 選択肢 「7」「2」「3」
問題61+7は? 選択肢 「8」「2」「3」
問題7 1+8は? 選択肢 「9」「2」「3」
問題8 1+9は? 選択肢 「10」「2」「3」
問題9 1+10は? 選択肢 「11」「2」「3」
問題10 1+11は? 選択肢 「12」「2」「3」
とりあえずこんなもんでいいです。
よろしくお願いします。
94 :
デフォルトの名無しさん :2005/12/08(木) 11:06:18
【 課題 】数当てゲームのプログラム 【 期限 】12月12日 【 Ver 】1.5 【 補足 】 プログラム側が考えてた4つの数字当てます。 ユーザー側が数字を入力して、プログラム側が用意した数字と適合する数字と 同じ数字があれば「同」異なれば「異」で表現してください。 4つとも数字が同じであれば、終了してください 数字の重複は、可能であれば「重複無し」でお願いします。 ex: 3641(ユーザー入力) → 6542(プログラム側) = 2同 2異 わかりにくい説明で、申し訳ありません。 どうぞよろしくお願いします。
ex: 3641(ユーザー入力) → 1463(プログラム側) = 4同 この場合でも終了していいの?
96 :
デフォルトの名無しさん :2005/12/08(木) 12:31:52
単純交換法でプログラムを作成しているのですが まだ途中ではありますがjavacしたあと実行しようとするとエラーが出ます どうすればいいのでしょうか?プログラムは下記のとおりです class Tankoukan /*交換法*/ { public static void main(String args[]) { int a[] = {23, 33, 12, 3, 52, 4 }; int i,j,x,y,z; System.out.println("ソート前:"); for(i = 0; i < a.length; i++) { System.out.print(a[i] + ", "); } System.out.println(); /* ソートプログラム */ for(i = a.length; i > 0; i--) { x= i; y= i-1; if (a[x] < a[y]) { z = a[x]; a[x]= a[y]; a[y]= z; } } System.out.println("ソート後:"); for(i = 0; i < a.length; i++) { System.out.print(a[i] + ", "); } System.out.println(); } }
97 :
デフォルトの名無しさん :2005/12/08(木) 13:10:54
i<a.lengthってやってるくせに i=a.lengthっておかしいとは思わないかい?
98 :
デフォルトの名無しさん :2005/12/08(木) 15:10:10
【 課題 】*を1秒に1個ずつ表示させていくプログラムを作りなさい。 【 期限 】12月10日までに 【 補足 】Timerを使うのだと思うのですが、何をどうやってもエラーが出てしまいます。なので丸投げですがよろしくお願いします。
99 :
デフォルトの名無しさん :2005/12/08(木) 19:26:50
>>95 さま
ご記載のパターンでも終了できます
同じ数字が4つ含まれていれば終了しろ、との指示でした。
順番は問いません。
どうぞよろしくお願い致します!
>98 課題内容の終了条件は? public class T54_98 { /** * @param args * @throws InterruptedException */ public static void main(String[] args) throws InterruptedException { int count = 0; while(true && count < 10){ System.out.println("*"); Thread.sleep(1000); count++; } } }
>94 // NumberGuess.java import java.io.*; import java.util.*; public class NumberGuess { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(10); for( int i=0; i<10; i++ ) list.add( i ); Collections.shuffle( list ); StringBuilder builder = new StringBuilder(); for( int j=0; j<4; j++ ) builder.append( list.remove(0) ); String answer = builder.toString(); BufferedReader br = new BufferedReader( new InputStreamReader(System.in) ); boolean isCorrectInput = false; int inputNum = 0, correct = 0;
102 :
101 :2005/12/08(木) 22:50:31
>94(つづき) do { correct = 0; System.out.print( "4桁のすべて数字の異なる整数を入力してください > " ); try { String line = br.readLine(); if( line.length() != 4 ) throw new IllegalArgumentException(); inputNum = Integer.parseInt( line ); TreeSet<Character> set = new TreeSet<Character>(); for( int i=0; i<line.length(); i++ ) set.add( line.charAt( i ) ); if( set.size() != line.length() ) throw new IllegalArgumentException(); isCorrectInput = true; for( int j=0; j<line.length(); j++ ) { if( set.contains( answer.charAt( j ) ) ) correct++; } System.out.println( correct + "同" + (4-correct) + "異" ); } catch( NumberFormatException nfe ) { } catch( IOException ioe ) { } catch( IllegalArgumentException iae ) {} } while( !isCorrectInput || correct != 4 ); System.out.println( "答え:" + answer ); } }
明日までの宿題なのですが、2つの画像を交互に5行10列をifでやらないといけ ないんです。おねがいします。
104 :
101 :2005/12/08(木) 23:02:01
>103 >67 日本語書け。
105 :
103 :2005/12/08(木) 23:14:10
if ( 1%2 == 0 ) g.drawImage(img1〜〜〜) } g.drawImage(img2〜〜〜) ここからがわからないです。条件と式をどう入れればいいの?
106 :
デフォルトの名無しさん :2005/12/08(木) 23:19:27
>>101 さま
助かりました!ありがとうございました!
108 :
103 :2005/12/08(木) 23:40:44
import java.applet.*; import java.awt.*; public class rei5 extends Applet { Image imgs1,imgs2; public void init( ) { imgs1 = getImage(getDocumentBase(),"img1.jpg"); imgs2 = getImage(getDocumentBase(),"img2.jpg"); } public void paint( Graphics g ) { int i; for ( i=1; i<=10; i++ ) { if ( i%2 == 0 ) g.drawImage( imgs1, i*70, 10, this ); else g.drawImage( imgs2, i*70, 10, this ); } } } ここからどうしたら、img1とimg2を交互に5行10列に表示できますか?
>>108 これで良いのか?
public void paint(Graphics g) {
for (int row = 1; row <= 5; row++) {
for (int column = 1; column <= 10; column++) {
Image img = column % 2 == 0 ? imgs1 : imgs2;
g.drawImage(img, column * 70, row * 70, this);
}
}
}
110 :
103 :2005/12/09(金) 00:08:17
ifを使うって言われたんですけど、columnってのも出たことないんで。 すみません。 2行目のはじめはimg2次はimg1とならないといけないんです。
>>103 >columnってのも出たことないんで。
出たことないからどうなの? 使っちゃダメなの? 変数名は何か指定されてるの?
112 :
デフォルトの名無しさん :2005/12/09(金) 03:51:48
すげぇな 変数使わずにforまわせってか・・・
カラムって用語を何かで聞きかじってごっちゃになってるんかね
114 :
103 :2005/12/09(金) 12:39:22
シンボルが解決できないとでるんですが。img1:img2のところで。
>114 >109の内容は>108のpaint()部分だけ書いてるだけでそ
連レスすまんが、>109のcolumn % 2のところを (row + column) % 2に変えたら>103の通りになると思う。
117 :
103 :2005/12/09(金) 16:34:21
116さんのとうりにやってもシンボルが解決できないとでたので、imgs1:imgs2 としたら成功しました!!ありがとうございました。
行列くらい習ってないのか? と思ったが、情報処理しかやってない学校なら普通なのかな
119 :
デフォルトの名無しさん :2005/12/11(日) 02:51:49
【 課題 】Appletでグラフィックス用の関数を用いて、クリスマスツリーとクリスマスリースの絵を描け。 【 期限 】12日 【 Ver 】1.4 お願いします
俺は実装する気ないけど、画像ファイル読み込みはありなの? それとも・・・
行列のできる法律相談所
クリスマスリースってなんですか?
>>122 クリスマスに無縁な人?
家に飾らないの?
かわいそう・・・
124 :
119 :2005/12/11(日) 13:29:47
>>120 なしです。
塗りつぶした三角形を使ったり円を使ったり・・・
そういうことをして絵を描けということみたいです。
法律のできる行列相談所
127 :
デフォルトの名無しさん :2005/12/12(月) 05:59:09
課題というわけでもないのですが、行き詰まったのでよろしくおねがいします 【 課題 】次のようなコンストラクタを下記のmainメソッドから呼んでやります このときTest abとTest cdができるわけですが、ab.equals(cd)とするとfalseが返ってくるのはなぜでしょうか また、この比較ではどの部分が比較対象になっているのでしょうか class Test{ static int FIRST=0; static int SECOND=1; static int THIRD=2; final String str; Test(String s){ this.str = s; } Test(int i){ this.str = Integer.toString(i); this.FIRST = i; this.SECOND = i; this.THIRD = i; } String[] op = {"FIRST", "SECOND", "THIRD"}; for (int i = 0; i < op.length; i++) { Test ab = new Test(op[i]); for (int j = 0; j < op.length; j++) { if (i == j) { Test cd = new Test(op[j]); if(ab.equals(cd)) System.out.println("true"); else System.out.println("false"); *閉じ括弧略
128 :
デフォルトの名無しさん :2005/12/12(月) 06:35:36
Testクラスのequals()はObjectクラスのequals()を呼んでいる。 Objectクラスのequals()は二つのオブジェクトのidentityを比較するため 同一のオブジェクトを比較するとき以外にtrueを返さない。 (この場合ならab.equals(ab)はtrueを返す) これを回避するためにはTestクラスにequals()を実装する必要がある。 例えば二つのオブジェクトのstrが同じときtrueを返したいなら public boolean equals(Test t) { if(this.str == t.str) { return true; } else { return false; } }
129 :
デフォルトの名無しさん :2005/12/12(月) 06:37:32
アホかおれは。。。 public boolean equals(Test t) { if(this.str.equals(t.str)) { !! return true; } else { return false; } }
そんな実装したら混乱するだけだと思う
131 :
127 :2005/12/12(月) 09:48:43
>>128 詳しい解説どうもありがとうございました!
2つのメンバ変数比べてみても同じなのにab.equals(cd)がtrue返ってこなくて
よくわからなくなってました。
同じ内容でも異なっちゃうんですねー・・・
132 :
デフォルトの名無しさん :2005/12/12(月) 13:05:17
【課題】 二つの正整数の最大公約数を求めるためのユークリッドの互除法も,再帰呼び出しをしない方法と再帰呼び出しによる方法のニ通りで計算することができる. ユークリッド(Euclid)の互除法とは二つの正の整数の最大公約数(Greatest Common Divider, 略してGCD)を求めるための算法として,古くからよく知られたアルゴリズムである. この方法は互除という名の示すとおり,除数(割る数)と被除数(割られる数)の役割を剰余(余り)によって交互に入れ換え,剰余がゼロになるまで除算を繰り返す.剰余がゼロになったときの割り切った数(除数)が二数のGCDとなる. もう少し具体的に手順を書くと次のようになる: |Step 0. (初期設定) 二つの正の整数 aと b の値を入力する. |Step 1. (剰余計算) a を b で割った余りを r とする. |Step 2. (停止判定) もし r がゼロならば終了.このときのb の値が求める値である.そうでなければ次のStepへ進む. |Step 3. (更新) a の値を b, b の値を r におきかえ,Step 1へ戻る. 上のn!のプログラム例を参考にして,ユークリッドの互除法の非再帰版と再帰版の二つのメソッドを定義し,両方で最大公約数を計算して出力するプログラムを作成せよ. ただし,次の条件を満たしていること. 1. 非再帰版,再帰版ともに二つの正整数を引数にもつ独立したメソッドとして作ること. 2. データの入力方法は,下の例のように,一度に2つとも与える形式にすること. 3. 結果の出力の仕方は必ずしも下の通りでなくともよい(独自に工夫してよい)が,必ず非再帰版と再帰版の両方で計算した結果を出力すること. [結果] (コマンドプロンプト側の表示) 2つの正の整数値を入力して下さい(スペースで区切る): xxxxxxxx xxxxxxx ===== 非再帰呼び出し版===== 最大公約数は xxxxx ===== 再帰呼び出し版===== gcd(xxxxxxxx,xxxxxxx) = xxxxx
133 :
デフォルトの名無しさん :2005/12/12(月) 13:17:13
>>52 ありがとうございます。
しかし、下から4行目のprintfでエラーになります。
【 課題 】 あるテキストファイルを入力し、別の名前で同じ内容を出力するプログラムを作成せよ。 ただし、ファイルはネットワーク経由で入力を行い、出力も同様にネットワークを使用すること。 入力するファイルは複数の中から選択できるようにするものとする。 【 期限 】 12月18日付近 【 Ver 】 1.5 【 補足 】 サーバーを使う使わないは自由みたいです。HTTPやFTPからダウンロードして、アップロードでも可能みたいです。 JAVAはいじりだして半年ほどなのですが、ネットワークが全く分からないです。 助けてください;;お願いします。
135 :
デフォルトの名無しさん :2005/12/12(月) 13:58:56
【 課題 】 キーボードより入力した数字が1の時に赤。2の時に緑。3の時に青の 10×10ピクセルのそれぞれの色を出力させ12が入力されたら 赤緑 て感じに横に並べて出力させるプログラムを作成お願いします。 【 期限 】 12月17日午後8時まで 【 Ver 】 1.4 【 補足 】 一様数字が一桁の時はできるのですが二桁以上の時の処理のやり方が分かりません この部分だけでもいいので教えて下さい。
136 :
101 :2005/12/12(月) 19:16:35
>135 ×一様 ○一応 String string = "12"; for( int i=0; i<string.length(); i++ ) { int num = string.charAt( i ) - 48; someMethod( num ); } 48の意味がわからなかったら String str = "123"; for( int i=0; i<str.length(); i++ ) { int num = Integer.parseInt( str.substring( i, i+1 ) ); someMethod( num ); } でもOK.
>132 import java.io.*; import java.util.*; public class T54_132 { public static void main(String[] args) throws IOException { try{ BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("2つの正の整数値を入力して下さい(スペースで区切る): "); Scanner sc = new Scanner(buf.readLine()); int num1 = sc.nextInt(); int num2 = sc.nextInt(); System.out.println(); System.out.println("==== 非再帰版 ===="); System.out.println(" 最大公約数は " + euclid(num1, num2)); System.out.println(); System.out.println("==== 再帰版 ===="); System.out.println(" gcd(" + num1 + ", " + num2 + ") = " + reflexiveEuclid(num1, num2)); }catch(Exception e){ System.out.println("正しい形式で入力してください"); } }
138 :
137 :2005/12/12(月) 19:31:13
続き private static int reflexiveEuclid(int num1, int num2) { int remainder; if((remainder = num1 % num2) != 0) return reflexiveEuclid(num2, remainder); else return num2; } private static int euclid(int num1, int num2) { int remainder; while((remainder = num1 % num2) != 0){ num1 = num2; num2 = remainder; } return num2; } }
へぇ。そっちの再帰って初めてかも。 ふつう recursive じゃない?
ああ、俺バカだからgoo辞書で調べたんだが、意味違ったかもな。 なんだかアホさを露呈したようで痛いorz
141 :
デフォルトの名無しさん :2005/12/12(月) 23:32:41
142 :
デフォルトの名無しさん :2005/12/13(火) 02:15:24
課題 データファイルを読み込んでその座標を通る線を作成しなさい。 また線の太さも変えれるようにしなさい。データファイルは、 x1 y1 z1 x2 y2 z2 ・・・・ のように座標が入っていて空白で区切られています。 期限 12/15日までに Ver 1.5.0_06 ○投げです。お願いします。 java始めたばかりなので全然わかりません(><)
>142 俺実装する気はないんだけどちょっと疑問。 データファイルの中身の書式見ると点が3つ以上のときもあるっぽいんだけど、 それは全部の点の組み合わせを通るように線引くの? 4点ある場合だと1-2, 1-3, 1-4, 2-3, 2-4, 3-4みたいに引くのか 1-2, 2-3, 3-4, 4-1みたいに四角形になるように線引くのかどっち?
144 :
142 :2005/12/13(火) 03:54:46
>>143 説明がわかりずらくてすいません。
(x1,y1,z1)→(x2,y2,z2)→(x3,y3,z3)→(・・・)→(xn,yn,zn)
みたいに直線を引いてくようです。この説明でOKでしょうか?
スプラインとかベジエとか使うのかと思ったよ
146 :
デフォルトの名無しさん :2005/12/13(火) 07:03:01
アメリカの大学に通っている者です。 宿題がどうしてもわからないのでここに載せたいと思うんですがいいでしょうか? ただし課題をそのまま載せるのなら英文になってしまうのですが・・・。
行数が短ければ大丈夫だろ 長いときはうpろだ使うべし
148 :
デフォルトの名無しさん :2005/12/13(火) 07:17:09
>147 行数はかなり長いです。 うpろだとはなんですか? 初心者ですいません。
150 :
デフォルトの名無しさん :2005/12/13(火) 08:21:08
146の者です。
【課題】うpろだにアップしました。
http://www.uploda.org/ ファイル番号260170
【期限】12月15日
【Ver.】NETBEANS4.1
どなたでもかまいません。よろしくお願いします。
>>150 ワードファイルだと、ウイルスの危険があるので誰も開きません・・・
つまり、誰も回答しません・・・・
テキストファイルにした方がいいのではないでしょうか?
開いてしまった・・・
一応AVGでウィルス反応なし
154 :
デフォルトの名無しさん :2005/12/13(火) 10:03:29
>>151-153 .txtにコピペしてアップしておきました。少々見にくいかもしれません。
ファイル番号は260187です。
知識が足らずすいませんでした。
よろしくお願いします。
>>150 travel clerk向けのユーザインタフェースがわからんのだけど・・・
顧客向けのユーザインタフェースだけ作っておけばいいのかねぇ
156 :
デフォルトの名無しさん :2005/12/13(火) 10:38:53
>>155 飛行機のチケット購入(予約)するシステムなので顧客向けのシステムでOKです。
157 :
デフォルトの名無しさん :2005/12/13(火) 12:54:02
【 課題 】キーボードから、数値を2つ入力待ちをする間 10秒ごとに画面に * を出力するプログラムを作成。 2つの値が入力されたら、2つを足した値を画面に出力し終了する。 お願いします
>>157 動作確認よろしく
import java.util.*;
public class T54_Q157 {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new TimerTask() { public void run() { System.out.println("*"); }}, 10000, 10000);
Scanner scanner = new Scanner(System.in);
int inputA = scanner.nextInt();
int inputB = scanner.nextInt();
System.out.println(inputA + inputB);
}
}
【課題】 課題5で作成した住所録管理システムのユーザインタフェースに機能を追加して、個人データの追加や削除の操作ができるようにしなさい。ただし、機能の実現にあたっては、プログラムが以下の構造を持つように注意しなさい。なお、デモプログラムが解答例からアクセスできる。 (1) クラスAddressの定義 このプログラムは、氏名と住所、電話番号が記録されている個人データを管理する。住所録リスト中の個人データは次のクラスAddressで定義する。 class Address { private String name; /* 氏名 */ private String address; /* 住所 */ private String phone; /* 電話番号 */ public Address(String name, String address, String phone) { ... } /* コンストラクタ */ public int setName(String name) { ... } /* 氏名を変更 */ public int setAddress(String address) { ...} /* 住所を変更 */ public int setPhone(String phone) { ... } /* 電話番号を変更 */ public String getName() { ... } /* 氏名を取得 */ public String getAddress() { ... } /* 住所を取得 */ public String getPhone() { ... } /* 電話番号を取得 */ } Addressの各メソッドは次に示す値を返す。 setName 0 正常終了したとき setAddress 0 正常終了したとき setPhone 0 正常終了したとき -1 電話番号に数字とハイフン以外を使用したとき getName 住所録中の名前 getAddress 住所録中の住所 getPhone 住所録中の電話番号
(2) クラスAddressBookの構造 AddressBookは、住所録のリストをもつ。住所録リストは、各個人データのHashtable(ハッシュテーブル)として定義されている(HashtableのAPIについてはドキュメントを参照すること)。AddressBookは、次のクラスで表される。ただし、privateなメソッドは追加しても良い。 import java.util.Hashtable; class AddressBook { Hashtable book; /* 住所録 */ public AddressBook() { ... } /* 住所録を初期化し、空の住所録を作る */ public int insert(String name, String address, String phone) { ... } /* 個人データの登録 */ public int remove(String name) { ... } /* 個人データの削除 */ public int changeAddress(String oldname, String newname, String newaddress, String newphone) { ... } /* 個人データを変更 */ public Address getAddress(String name) { ... } /* nameで指定された個人データを返す */ public Address[] getAddress() { ... } /* 全個人データの一覧を返す */ } AddressBookの各メソッドは次に示す値を返す。 insert 0 正常終了したとき -1 電話番号で数字とハイフン以外を使用した場合とき -2 住所録リストにある氏名で再び個人データを登録したとき remove 0 正常終了したとき -3 住所録リストにない氏名が指定されたとき changeAddress 0 正常終了したとき -1 電話番号に数字とハイフン以外を使用した場合とき -2 住所録リストにある氏名で新しい個人データを登録したとき -3 住所録リストにない氏名が指定されたとき getAddress(String name) null 住所録リストにない氏名が指定されたとき null以外 nameで指定された個人データ getAddress() null 住所録が空の時 null以外 住所録にある全ての個人データの配列
3. 注意事項 AddressBookクラスでは、System.out.printlnなどの入出力関数を使用してはならない。エラーメッセージの出力は、各関数の返す値を見て、課題5で作成したユーザインタフェースで行う。 電話番号は数字と"-"(ハイフン)のみを使用する。カッコ"("や")"などは使用しないこと。 【期限】12月19日 【ver】1.4 【補足】awtアプレットでの作成をお願いします
162 :
デフォルトの名無しさん :2005/12/13(火) 17:01:27
163 :
159 :2005/12/13(火) 18:52:33
165 :
159 :2005/12/13(火) 18:55:00
あ、受信パスは123です 度々スレ汚し申し訳ないです
167 :
159 :2005/12/13(火) 18:58:17
すいません。半角の123です。
>>166 訂正ありがとうございます
釣りっぽ
169 :
デフォルトの名無しさん :2005/12/13(火) 23:51:57
明日の夕方までに提出しないといけない課題です。 よろしくお願いします 課題1 文字列をくりかえし入力して, 最後に「ん」がつく単語が入力されたら終了するプログラムを書きましょう. ちゃんと「しりとり」になっているかのチェックは不要. 出力例 単語: あたま 単語: まりも 単語: もんげん あなたの負け! ヒント: 文字列の最後の文字を得るためには, length()で長さを求めてsubstring()を使う 課題2 文字列を入力して,逆順に表示するプログラムをつくりましょう. 出力例 文字列を入力してください: That is a orange. 逆順にすると, .egnaro a si tahT です. ヒント: 文字列の長さを length() で求めて, 右端から左端に向かって1 文字づつ表示する. 問題はこんな感じです。
>169 課題1 import java.io.*; public class T54_169_1 { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.print("単語: "); String str = buf.readLine(); int i = str.length() - 1; if(str.substring(i).equals("ん") || str.substring(i).equals("ン")) break; } System.out.println("あなたの負け!"); } } 課題2 import java.io.*; public class T54_169_2 { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("文字列を入力してください"); String str = buf.readLine(); System.out.println("逆順にすると"); for(int i = str.length() - 1; i >= 0; i--) System.out.print(str.charAt(i)); System.out.println(" です"); } }
ヒントには沿わないけど、シンプルな回答 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (reader.readLine().matches(".*[^んン]$")); System.out.println("あなたの負け!"); 文字列の反転 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); StringBuffer buffer = new StringBuffer(reader.readLine()); System.out.println(buffer.reverse());
173 :
デフォルトの名無しさん :2005/12/14(水) 01:56:52
【課題】 自然数aを入力し,平方根√aの近似値を以下の漸化式で求める. Xn+1=Xn-(Xn^2-a)/(2Xn) ただし,初期値X0はαとし,|Xn+1-Xn|<10^-5を満足した時点 におけるXn+1を答とすること. 擬似言語とJavaで記述する. Javaについてはその実行結果も貼り付けること. (Javaの先頭にはコメントで擬似言語の変数とJavaの変数の対応を記述すること) 【期限】12月19日 【Ver 】1.4 全然わからなくて困ってます どなたかよろしくお願いします
>>173 import java.io.*;
import java.lang.Math;
class SquareRoot {
public static void main(String[] args) {
try {
System.out.println("数値を入力してください");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number = reader.readLine();
double a = Double.parseDouble(number);
double alpha = a / 2.0; // とりあえず入力値の2倍をαとする
double x0 = alpha;
double x1;
while (true) {
x1 = x0 - (x0 * x0 - a) / (2.0 * x0);
if (Math.abs(x1 - x0) < 1.0e-5) {
break;
}
x0 = x1;
}
System.out.printf("平方根: %f %n", x1);
}
catch (Exception e) {
System.out.println("エラー");
}
}
}
177 :
142 :2005/12/14(水) 05:47:06
すいません、自己解決しました。少しでも気にかけてくださった方、 ありがとうございましたm(_ _)m
ソースポストネットってよく落ちるのでしょうか? 似たような問題を見つけて解答レスがついてたのに、 昨晩から全くつながらない・・・
179 :
デフォルトの名無しさん :2005/12/14(水) 16:09:36
>>171 ,172
ありがとうございました!!!!
本当に助かりました!
180 :
デフォルトの名無しさん :2005/12/14(水) 17:09:45
162です。 やはり課題が英文でバージョンがNETBEANSではだめなんですかねぇ・・・。 すいません。愚痴っぽくなってしまいました。
181 :
デフォルトの名無しさん :2005/12/14(水) 17:51:47
【 課題 】野球の長打率を求めるGUIプログラムを作成せよ。
【 用語 】長打率 = 塁打数 / 打数
【 期限 】12/15
【 Ver 】1.4
【 補足 】塁打数(1塁、2塁、3塁、ホームラン)と打数を入力する画面を作り、
JButtonで作成したボタンを押すと、画面上に長打率が表示されるプログラムです。
長打率はJLabelで出力表示せよとの事です。
一応、GUI部分は適当ですが、作ってみました。
ttp://sund1.sakura.ne.jp/uploader/source/up0340.jpg 後は、入力した数値を計算して、SLGと書いてあるところに出力するだけなのですが、
詰まってしまったので、よろしくお願い致します。
182 :
181 :2005/12/14(水) 18:00:53
183 :
デフォルトの名無しさん :2005/12/14(水) 19:36:46
>>174 自然数aを入力し,平方根√aの近似値を以下の漸化式で求める.
X_n+1=X_n-(X_n^2-a)/(2X_n)
ただし,初期値X0はαとし,|X_n+1-X_n|<10^-5を満足した時点
におけるX_n+1を答とすること.
これで間違いないと思います
若干見やすくしたつもりです
>>175 ありがとうございます
質問なんですけど、擬似言語の変数は
a:入力値
xn:各段階の近似値x
dis:X_n-X_n+1の値
にしたんですがJavaとの変数の対応がわからないので教えてください
例)ninzuー人数
>>183 a → 入力値
alpha → 初期値α
x0、x1 →各段階の近似値
|X_n+1-X_n| → Math.abs(x1 - x0)
>>183 a → 入力値
alpha → 初期値α
x0 →X_n
x1 → X_n+1
Math.abs(x1 - x0) → |X_n+1-X_n|
こうだすまん
186 :
デフォルトの名無しさん :2005/12/14(水) 21:45:15
>>185 ありがとうございました
無事課題も提出できそうです><
【 課題 】4桁の数を読み込みそのあいだに加減乗除の演算をはさんで,結果が10になるものを見つけよ. 【 期限 】12/19 【 Ver 】1.4 補足 0で割らないようにプログラム上注意すること. もしそのような組合せが見つかったら,たとえば4*9/3-2=10のように表示せよ. 可能な組合せすべてを表示した方がよい.見つからなければ,`失敗''と表示せよ. 難問らしいです。丸投げで申し訳ありませんがお願いします。
>>187 全ての演算子を使わなくてはだめ、とか制約ある?
(1/3)*5*6とかもOK?
16/2+2 とかもあり?
【 課題 】(1) 1から50までの整数を保有する配列を作る (2) これを乱数を用いてでたらめな順に並べ替える (3) でたらめに並んでいる1から50までの整数を小さい順に 並べ替える。並べ替えの方法はシェルソートとする。 【 期限 】12/16 午後1時ごろまで 【 補足 】申し訳ありませんが丸投げでお願いします。
191 :
187 :2005/12/14(水) 23:59:14
>>188 >>189 全ての演算子を使わなければいけないというのはありません。
カッコはOKです(あった方が難しいらしいですが)
それぞれの数字の間に演算子を入れなければいけないので
16/2+2はなしです。
お願いします。
194 :
デフォルトの名無しさん :2005/12/15(木) 12:36:26
【 課題 】 身長(m)を入力し標準体重の範囲を表示する。 身長がマイナスの値なら、処理を中止し、 プラスなら処理を繰り返すプログラムを作成しなさい。 尚、標準体重の範囲は身長(m)*身長(m)*18.5以上、 身長(m)*身長(m)*25未満とする。 【 期限 】12月19日 【 Ver 】特になし 【 補足 】While文、Double.parseDoubleを使う。 丸投げです。宜しくお願いします。
195 :
デフォルトの名無しさん :2005/12/15(木) 12:38:39
【 課題 】 身長(m)と体重(kg)を入力しBMI値を表示する。 身長がマイナスの値なら、処理を中止し、 プラスなら処理を繰り返すプログラムを作成しなさい。 尚、BMI=体重÷(身長(m)×身長(m))とする 【 期限 】12月19日 【 Ver 】特になし 【 補足 】While文、Double.parseDoubleを使う。 丸投げです。初心者です。 ご協力宜しくお願いします。
196 :
デフォルトの名無しさん :2005/12/15(木) 12:40:44
【 課題 】 身長(m)と体重(kg)を入力しBMI値と判定結果を表示する。 身長がマイナスの値なら、処理を中止し、 プラスなら処理を繰り返すプログラムを作成しなさい。 BMI値 判定 18.5未満 やせ 18.5以上25未満 普通 25以上30未満 肥満 30以上 高度肥満 【 期限 】12月19日 【 Ver 】特になし 【 補足 】While文、Double.parseDoubleを使う。 丸投げです。初心者です。 ご協力宜しくお願いします。
197 :
デフォルトの名無しさん :2005/12/15(木) 12:49:28
>194-196 身長はcmでなくmであらわします。 170cmではなく1.7m 宜しくお願いします。
198 :
159 :2005/12/15(木) 15:19:19
どなたかやって頂けないでしょうか・・・
199 :
デフォルトの名無しさん :2005/12/15(木) 17:11:07
public static void main(String[] args) throws IOException { System.out.println("身長を入力してください"); BufferedReader hbr = new BufferedReader(new InputStreamReader(System.in)); String sh = hbr.readLine(); System.out.println("体重を入力してください"); BufferedReader wbr = new BufferedReader(new InputStreamReader(System.in)); String sw = wbr.readLine(); double[] difine ={18.5,25,30}; String[] comment ={"やせ","普通","肥満","高度肥満"}; String ans =null; double h =Double.parseDouble(sh); double w =Double.parseDouble(sw); double bmi=w/(h*h); if(bmi < 0){return;} int i=0; while(i < comment.length){ if(i == 0){ if(bmi< difine[0]){ans = comment[0];break;} }else if(i == comment.length-1){ if(bmi>= difine[i-1]){ans = comment[i];break;} }else{ if(bmi >= difine[i-1] && bmi < difine[i]){ans = comment[i];break;} } i++; } System.out.println("BMI値:"+bmi); System.out.println("結果判定:"+ans); }
200 :
159 :2005/12/15(木) 22:43:55
自己解決しました。ありがとうございました
201 :
デフォルトの名無しさん :2005/12/15(木) 23:05:23
アプレットを作っていたらクラスファイルにApplet$1.classのような $マークがついたクラスファイルが生成されました。 これって何ですか?
>>201 無名インナークラス(無名内部クラス)でググれ
203 :
デフォルトの名無しさん :2005/12/16(金) 00:48:19
理解できないならInnerClass使うな
204 :
196の者です。 :2005/12/16(金) 07:11:17
>199さん 作って頂いて本当にありがとうございました。 ご丁寧にありがとうございます。 194.195.196のそれぞれが課題でして、 194、195の問題にまだ苦戦しています。 どなたか教えていただけないでしょうか? 宜しくお願いいたします。
206 :
205 :2005/12/16(金) 09:14:44
207 :
190 :2005/12/16(金) 13:37:35
208 :
デフォルトの名無しさん :2005/12/16(金) 14:40:16
>199さん ありがとうございます。一回入力してみたのですが、 身長をマイナスに入れても、体重まで入力してしまうので、駄目でした。 ご丁寧に作っていただいてありがとうございます。 身長をマイナスにいれると終了するプログラムをどなたか、 教えていただけないでしょうか? 宜しくお願いします。
【 課題 】 Webのフォームから送信された情報をxmlファイルとして生成するサーブレットを作成せよ。 登録する情報は、名前、性別、の2つを必須とし、誕生日は任意とする。 生成すべきxmlは <user> <name value="名前" /> <sex value="男" /> <birthday value="1995-12-21" /> </user> のようにする。 【 期限 】 12月19日です。 【 Ver. 】 特になし 【 補足 】 情報を追加するときは、別のファイル(名前は適用でよい)にしなければなりません。 よろしくお願いします。
>208 四行目のString sh = hbr.readLine(); の後に double h =Double.parseDouble(sh); if(h < 0.0) throws new IOException(); を入れれば良いと思うが。
211 :
Mb :2005/12/17(土) 00:09:26
>>209 ファイル名の指定方法とファイルの生成場所を指定しる。
うっかり //WINDOWS/system32 とかの下に作っちまっても困るだろう?
212 :
209 :2005/12/17(土) 00:43:31
>>211 ありがとうございます。
ファイル名は、 user001.xml から連番で。
サーブレットは
$CATALINA_HOME/webapps/kadai/
以下においていますので、
$CATALINA_HOME/webapps/kadai/data/
に目的のxmlファイルを生成するように御願いします。
おねがいします 【 課題 】 ファイルに記録してある10個の小数データを読み込んで、照準にソートし、その結果を同じファイルへ書き込むプログラムを作成する。 データが記録してあるファイルはdata.txtとし、ファイル名はプログラム実行時に指定する。 処理で必要な3つの機能は別ファイルTool.javaとして作成し、以下のメソッドとする。 ソートのアルゴリズムは交換法とする。 データ:98.1 55.7 36.4 87.6 42.5 12.8 94.9 69.0 73.3 21.2 1、ファイルからデータを読み込むメソッドをDataRead()とする 2、ファイルからデータを書き込むメソッドをDataWrite()とする 3、配列のデータを昇順にソートするメソッドをDataSort()とする 4、コンストラクタで1、2で必要なファイル名を指定する。 【 補足 】 double型から文字列に変換する際にString (変数) = Double.toString(変数) 逆はdouble (変数) = Double.parseDouble(変数) を使わないといけないです よろしくお願いします
>>213 読み込むファイルは、213に書いてあるような
数値データが半角スペースで区切られている形式でOK?
あとメソッド名の先頭は大文字のままでいい?(DataRead()→dataRead())
215 :
213 :2005/12/17(土) 20:01:24
98.1 55.7 (下につづく) のような形でお願いします メソッド名は何でもかまわないです
こんなスレは認められないよ。 誰も答え教えるな。
>>211 おお、Mbたんが戻ってきてくれた。
常連が皆消えてしまうから、ここは寂しいよ。
あの小島もどこへ行ったんだ。
これからのプログラマは自分で考え込むんじゃなくて いかに仲間を増やして協力を求めるかが重要だからな
>>216 色んな課題がでてきて、自分で考えるのも実になるんで重宝してる
いや、真面目に考えてだ。 一人の人は苦心して自力で課題をこなす。もう一人はこのスレに コピペされたプログラムで苦労せずに課題をこなす。 しかも、後者の方が点数が高いケースも多い。理不尽だよな。 それに協力してどうするのか。
224 :
デフォルトの名無しさん :2005/12/18(日) 10:53:57
ランダムに "(名詞)とは(動詞)する(名詞)である" という文を作って, maxim.txt というファイルに書き出すプログラムを作ってください. 文を10個作ったら終わるようにしてください. 例:りんごとは食べる帽子である. やかんとは寝るコップである. プリンとは食べる魚である. ....(以下省略) (名詞),(動詞)の部分はファイルから取得します.名詞や動詞の候補をそれぞ れ meishi.txt, doushi.txt というファイルに書いておきます.ファイルの フォーマットは,1行に1語です.それぞれのファイルは100行以内と仮定して かまいません. meishi.txtの例 りんご やかん 魚 doushi.txtの例 食べる 寝る 叩く ヒント0: 段階的詳細化を忘れないように. ヒント1: 最初に名詞を String[] meishi, 動詞を String[] doushi という Stringの配列に覚えましょう. ヒント2: 配列から無作為に名詞を取り出すには,名詞の個数を m とすると, 乱数で 0 〜 m-1 までの整数を作って,その値を meishi の添字として使いま す.名詞や動詞の個数は,ファイルの行数を数えて取得してください. ・・・という課題なんですがちんぷんかんぷんです。 火曜までです。よろしくお願いします!
自力でこなした奴は身につくだろう。それは将来役に立つだろう。 苦労せずにこなしても身にはつかないだろうが、 それで将来泣きを見ても知ったこっちゃないだろう。 だが聞き上手は才能というのも事実だろう。 要するに課題の点数で人生すべてが決まるわけじゃないだろう。 やるだけ時間のムダな課題も多いんじゃないの?
226 :
デフォルトの名無しさん :2005/12/18(日) 12:43:18
228 :
213 :2005/12/18(日) 18:41:30
229 :
デフォルトの名無しさん :2005/12/18(日) 19:19:39
>>226 ありがとうございました!明日早速学校で動かしてみます!
230 :
デフォルトの名無しさん :2005/12/18(日) 22:41:14
メモリの保護とメモリの共有はなぜ両立しないんですか? あと、オーバレイは何でマルチプログラミングを実現するにはのぞましくないんですか?
231 :
デフォルトの名無しさん :2005/12/18(日) 22:51:35
【 課題 】 キーボードから一次方程式(形はa*X+b=cもしくはa*X-b=cに限定してよい)を入力し、解を表示させる。 【 期限 】 12月19日です。 【 Ver. 】 特になし 【 補足 】ソースは出来るだけシンプルに。クラスとか使うかもしれません。 おねがいしやす!!
>231 import java.io.*; import java.util.*; public class T54_231 { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("一次方程式を入力してください"); StringTokenizer token = new StringTokenizer(buf.readLine(), "*X+="); int a = Integer.parseInt(token.nextToken()); int b = Integer.parseInt(token.nextToken()); int c = Integer.parseInt(token.nextToken()); System.out.println("X = " + (c - b) / (double) a); } }
233 :
231 :2005/12/18(日) 23:33:26
>232 動作確認しました。ありがとうございます。
234 :
231 :2005/12/19(月) 00:20:19
あの、ついででなんですが、どうしてutilパッケージを使う必要があるんですか?>232様
java.util.StringTokenizer; 使ってるからな。
236 :
デフォルトの名無しさん :2005/12/19(月) 02:38:15
【 課題 】マウスが通過した点に選択された色が表示される簡単なお絵かきプログラムを作成せよ。 描画色はRGBの混合比率をスクロールバーで変更可能なカラーバーによって行うものとする。 筆の太さも変更できるようにせよ。 【 期限 】12月19日 【 Ver 】1.4 【 補足 】MouseListenerを用いて作ってください。 よろしくお願いします。
237 :
232 :2005/12/19(月) 02:54:53
今気付いたけど232のソースのa,b,cはdoubleの方がいいねorz
238 :
デフォルトの名無しさん :2005/12/19(月) 08:33:18
>210さん ありがとうございます。今日学校で動かしてみようと思います。 ご丁寧にありがとうございました。 また、機会があれば宜しくお願いします。
なんで家に実行環境がないんだ、パソコン持ってるんなら 作ってオケよ
240 :
デフォルトの名無しさん :2005/12/19(月) 15:01:12
>>239 結構大変じゃないか?っていうか普通の工業高校生もそんな自由に家でパソコン使えないぞ
2ちゃんは出来るのにか。
243 :
デフォルトの名無しさん :2005/12/19(月) 20:57:32
課題@ 正の整数値xyを入力し、「プログラム中に掛け算の演算子*を用いずに」、 xとy掛け算を行うプログラムを作りなさい。 お願いします!!教えてください。
244 :
デフォルトの名無しさん :2005/12/19(月) 21:06:56
実はもうひとつ課題があって、明日までに提出しなくてはいけないんです。 課題A 次の2005年12月のカレンダーを表示するプログラムを完成しなさい。 class Cal0512 public static void main(String args[]){ int i, date; System.out.println("2005年12月"); for (i = 1; i <= 4; i++){ } for(date = 1; date <=31; date++){ if( ){ } } System.out.println(); } } こんな課題なんですが・・・もしよければ教えてください。 よろしくお願いします。
>>243 //たしざんだけでやってみる
import java.io.*;
public class Multiply {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number1 = reader.readLine();
int x = Integer.parseInt(number1, 10);
String number2 = reader.readLine();
int y = Integer.parseInt(number2, 10);
int sum = 0;
for (int i = 0; i < y; i++) {
sum += x;
}
System.out.println("\n" + x + " * " + y + " = " + sum);
}
catch (IOException e) {
System.out.println("Error");
}
}
}
>>244 class Cal0512 {
public static void main(String args[]){
int i, date;
System.out.println("2005年12月");
System.out.println(" 日 月 火 水 木 金 土");
int width = 4;
for (i = 1; i <= 4; i++){
for (int j = 0; j < width; j++) {
System.out.print(" ");
}
}
for(date = 1; date <=31; date++){
int ketasuu = Integer.toString(date).length();
for (int n = 0; n < (width - ketasuu); n++) {
System.out.print(" ");
}
System.out.print(Integer.toString(date));
if (((date + 4) % 7) == 0) {
System.out.println();
}
}
System.out.println();
}
}
247 :
デフォルトの名無しさん :2005/12/19(月) 23:34:03
課題@、Aとも、どちらもありがとうございます!! 明日朝がんばって学校でやります。 ほんと助かります!! ありがとうございました!!
>>243 //わりざんだけでやってみる
import java.io.*;
public class Multiply {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number1 = reader.readLine();
int x = Integer.parseInt(number1, 10);
String number2 = reader.readLine();
int y = Integer.parseInt(number2, 10);
System.out.println("\n" + x + " * " + y + " = " + x / 1 / y);
}
catch (IOException e) {
System.out.println("Error");
}
}
}
249 :
デフォルトの名無しさん :2005/12/20(火) 09:08:00
よろしくお願いします 【課題】以下のメンバ変数をコンストラクタ利用してを実装する 【備考】メンバ変数の修飾子は変更不可 メンバ変数の追加は可 public class Test{ public final static int ONE; public final static int TWO; //コンストラクタ Test(String s){ //実装する } とりあえずコンストラクタを Test(String s){ this.str = s; } として、順番は違いますが、メンバ変数の方を private static String str; public final static int ONE = Integer.parseInt(str); public final static int TWO = Integer.parseInt(str); などとしてみましたが java.lang.ExceptionInitializerErrorなどを吐いてお手上げです・・・ final宣言されてるのにコンストラクタからの数値を代入する方法はないでしょうか?
標準入力から文字列を入力させる 文字列に含まれるアルファベット大文字N個、小文字N個 というように表示したい String型で先頭から1文字ずつチェックする方法ってどんなものがりますか
>248 それできないっしょwwww intで割り算してるから0でるし、x/(1/y)ってしないとだめじゃないか? って、これ釣り?
252 :
デフォルトの名無しさん :2005/12/20(火) 10:08:57
>>250 import java.io.*;
import java.util.regex.*;
public class Check {
public static void main(String[] args) {
System.out.print("Enter String:");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String inputString="";
try {
inputString = reader.readLine();
} catch (IOException e) {
System.out.println("入力エラー:"+e);
}
Pattern small = Pattern.compile("[a-z]");
Matcher matcher = small.matcher(inputString);
Pattern large = Pattern.compile("[A-Z]");
Matcher matcher2 = large.matcher(inputString);
int cnt = 0;
while(matcher.find())
cnt++;
System.out.println("small = "+cnt);
cnt = 0;
while(matcher2.find())
cnt++;
System.out.println("large = "+cnt);
}
}
汚くてごめん・・・
>>249 我思うにそれかなり不可能。
というかそれができたらstatic finalの意味が消失する。
staticフィールドは「クラス」が最初にvmに読み込まれる一回で
コンストラクタ等や他のstaticメソッドと同列に生成される。
そこでfinalがついてるならそれは既に「定数」であって、
インスタンスを生成する役割のコンストラクタで初期化するようなものではない。
方法があるなら当方かなり勉強不足。
分かる人か、その課題を出した教授に聞いてみたい。
254 :
249 :2005/12/20(火) 11:19:43
やっぱり何かおかしいですね・・・ どうもお時間とらせてしまいました ありがとうございます
255 :
デフォルトの名無しさん :2005/12/20(火) 11:21:00
>>254 不可能です、っていう答えを聞きたかったのかもしれないし、
まぁがんばれや。
【 課題 】自機をキーボードの上下左右キーで操作し、画面内を跳ね返る玉を避け続けるゲームを作れ。 【 期限 】12/21 【 Ver 】1.4.2 【 補足 】自機の見た目は四角など何でもかまいません。 自機と玉に判定があって、玉に自機が触れるとアウトというゲームです。 お暇な方いらっしゃいましたら、宜しくお願いします。
>>252 ありがとう
正規表現を使ってできるのか
char[]に移して一文字ずつチェック、とかいうのを考えたんだけど、そっちの方がよさそうですね
>>249 少し頑張ってみたがだめだった……orz
リフレクションでは、finalを無視できないな。
あとは動的クラスロードとかでできないかなぁ。
まったく別のTestクラスにすりかえてしまうとか。
誰か頑張れ。
import java.lang.reflect.Field;
class Test {
public static final int ONE = 0;
public static final int TWO = 0;
public Test(final String s) throws IllegalArgumentException,
IllegalAccessException {
final Class c = this.getClass();
final Field[] fieldArray = c.getFields();
for (int i = 0; i < fieldArray.length; i++) {
final Field f = fieldArray[i];
f.setInt(this, Integer.parseInt(s));
}
}
public static void main(final String args[])
throws IllegalArgumentException, IllegalAccessException {
new Test("123");
}
}
>>249 こんなのムリだぁ
public class Test {
private static String string;
public final static int ONE;
public final static int TWO;
static {
ONE = 1;
TWO = 2;
}
//コンストラクタ
Test(String s){
string = s;
}
public static void main(String[] args) {
Test t = new Test("");
System.out.println("ONE=" + t.ONE + " " + "TWO=" +t.TWO);
}
}
260 :
デフォルトの名無しさん :2005/12/21(水) 01:25:48
262 :
260 :2005/12/21(水) 04:52:04
>261さん 動作確認しました!動きました、有難うございます! あと、上のソースで「次へ」ボタンを押した際、同じようなソース内容で 別のクラス「Toi2」を呼び出すにはどうすればよいのでしょうか? 小出しな質問で申し訳ありません。よろしければ教えていただけますか?
263 :
デフォルトの名無しさん :2005/12/21(水) 05:03:06
>264 たぶん、呼び出し方が間違ってるか、例外を処理してないかのどっちかだね。 呼び出し方はstaticなメソッドだから「クラス名.(ドット)メソッド名()」ね。 で、factorial(int)もcombination(int, int)もExceptionをthrowするから、 それの例外処理を呼び出し元のメソッドでしてやらなきゃいけない。 たぶん、この二つのどっちかで引っかかってると思うから、ちゃんとやればできるはず。
なんで自己レスしてんだorz >263ね・・・
266 :
264 :2005/12/21(水) 05:59:31
うわ、眠くてちゃんとソース見てなかったよ・・・ 同じクラスにmainあるのかorz じゃあ、エラー出るのは例外処理のほうだな・・・ 連レススマソorz
267 :
263 :2005/12/21(水) 06:22:21
>>264 できました!ありがとう!
例外処理で囲ってやればよかったんですね
【課題】 問題の式(単語)+(単語)=(単語)を3行(各単語のみ)で入力し、 例: ONE +TWO =THREE という計算を満たす各アルファベットに入る一桁の数字を求める。 【期限】 12月21日午後16時 【補足】 全てのアルファベットは異なる値を持つ。また0にはならない。 解なしの場合は「解なし」と表示する。 どこから手をつけて良いのか分かりません。 どなたかよろしくお願いします。
269 :
デフォルトの名無しさん :2005/12/21(水) 09:12:33
http://page.freett.com/kb100000/CalcServer.java http://page.freett.com/kb100000/CalcClient.java バイナリデータで送受信するように付録のプログラムを改造しないさいという問題で、
テキストデータの読み込みと書き込みではBufferedReaderとBufferedWriterが使われる。
InputStreamReader isr = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(isr);
…
OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream());
BufferedWriter writer = new BufferedWriter(osw);
PrintWriter out = new PrintWiter(writer);
…
バイナリデータの読み込みと書き込みではDataInputStreamとDataOutputStreamが使われる。
DataInputStream dis = new DataInputStream(s.getInputStream());
…
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
…
また、テキストではreadLine(), println()などのメソッドを使うが、バイナリではreadInt(), writeInt()などのメソッドを使う。
続きます・・
270 :
デフォルトの名無しさん :2005/12/21(水) 09:15:00
という説明なのですが、 サーバーはこんな感じ(少しエラーが出る)らしいのですが、クライアントのほうはどうなのでしょうか・・、宜しくお願いします import java.io.*; import java.net.*; import java.util.*; class CalcServer2 { public static void main(String args[]) { try { Socket s = ss.accept(); DataInputStream dis = new DataInputStream(s.getInputStream()); int x = dis.readInt(); int y = dis.readInt(); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); dos.writeInt(x+y); dos.flush(); s.close(); } } catch(Exception e) {e.printStackTrace();}} それと、付録のサーバをマルチスレッドにせよ。という問題で、 問題は以下のような感じです。複数のクライアントを処理するサーバを作成するにはスレッドを用いる。Runnableインターフェースを実装したクラスHandlerにクライアントごとの処理を行わせる。 宜しくお願いします。 class Handler implements Runnable { Socket s; Handler(Socket s) { this.s = s;} public void run() { try { 第1行を除いたサーバのループの内容 } catch(Exception e) {e.printStackTrace();}}} 元のサーバのループは以下のようになる。 while(true) { Socket s = ss.accept(); Thread t = new Thread(new Handler(s)); t.start();}
>>262 Toi1アプレットを表示させてるHTMLに Toi2を表示するHTMLへのリンクを書いとけば?
そうすりゃJavaは関係ない
273 :
デフォルトの名無しさん :2005/12/21(水) 10:32:51
import java.io.*;
import java.net.*;
import java.util.*;
class CalcServer2 {
public static void main(String args[]) {
try {
Socket s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
int x = dis.readInt();
int y = dis.readInt();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeInt(x+y);
dos.flush();
s.close();
}catch(Exception e) {e.printStackTrace();}
}}
サーバのほうはあとエラーこれだけです。クライアントのほうどなたかお願いします・・。
http://page.freett.com/kb100000/CalcClient.java {期限}pm12:20くらいまでです
274 :
デフォルトの名無しさん :2005/12/21(水) 10:33:56
間違えた、エラーこれです・・。 シンボル: 変数 ss 場所 : CalcServer2 の クラス Socket s = ss.accept();
275 :
デフォルトの名無しさん :2005/12/21(水) 14:18:00
【課題】 キーボードから、数値を2つ入力待ちをする間、2秒ごとに画面に * を出力するプログラムを作成。 2つの値が入力されたら、2つを足した値を画面に出力し終了する。 下記のような感じでやればいいと思うのですが、*を表示させるのと、 2この数字を打つと終了させるという方法がわかりません import java.io.*; class Sample extends Thread { public synchronized void run(){ try{ Thread.sleep(2000); System.out.println("*");} catch(InterruptedException e){} } } } class j4_2 {public static void main(String args[]) throws IOException {int i; System.out.println("整数を2つ入力してください"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Sample Sample1 = new Sample(); Sample1.start(); String str1 = br.readLine(); String str2 = br.readLine(); int sum=0; sum += Integer.parseInt(str1); sum += Integer.parseInt(str2); for( i=0; i<1; i++) { System.out.println("二つの数値の合計値は"+ sum +"です") } }
>>275 なんか
>>157-158 で見たことあるような課題だな
import java.util.*;
public class T54_Q275 {
public static void main(String[] args) {
Timer timer = new Timer(true);
timer.schedule(new TimerTask() { public void run() { System.out.println("*"); }}, 2000, 2000);
Scanner scanner = new Scanner(System.in);
int inputA = scanner.nextInt();
int inputB = scanner.nextInt();
System.out.println(inputA + inputB);
}
}
>268 >どこから手をつけて良いのか分かりません。 コード書いてる時間がちょっとないので、俺ならこう組むという考え方だけ。 1. 3単語が何種類の文字で構成されているか把握する。 2. 各文字に1から9までの数字を割り当てる。 3. 実際に計算してみる。 4. うまく答えが出れば出力。ダメなら次(2で違うパターンを試す)。 ONE + TWO =THREE はあり得ないから、そういうのを早めに検出できるようにしてみるのもいいかも。
278 :
1/2 :2005/12/21(水) 21:51:17
【 課題 】 引数、パラメータ、戻り値を使用して SubTestクラスでフィールド変数を使用せずに修正する。 また、SubTestクラスのshow()で行っている出力はfor文を使用する。 class Test { public static void main(String[] args) { SubTest st = new SubTest(); st.set(); st.show(); } } class SubTest { private Testdata td[] = null; protected void set(){ td = new Testdata[3]; td[0] = new Testdata(); td[1] = new Testdata(); td[2] = new Testdata(); td[0].s = "あいうえお"; td[0].i = 1; td[1].s = "かきくけこ"; td[1].i = 2; td[2].s = "さしすせそ"; td[2].i = 3; }
279 :
2/2 :2005/12/21(水) 21:52:54
protected void show(){ System.out.println(td[0].s); System.out.println(td[0].i); System.out.println(td[1].s); System.out.println(td[1].i); System.out.println(td[2].s); System.out.println(td[2].i); } } class Testdata{ public String s; public int i; public Testdata(){ s = ""; i = 0; } } 【 期限 】明日まで 【 Ver 】1.4 【 補足 】丸投げです。どなたかよろしくお願いします。
280 :
デフォルトの名無しさん :2005/12/21(水) 23:35:58
【 課題 】 現在の時刻を24時間時計(短針が1日で一周する時計) で表示するプログラムを作成せよ。
針は時針、分針、秒針、タイマー針の4本とする。タイマー針はマウスのドラッグで動かせるものとし、
設定時間(初期値は12:00にする)になったら「時間です。」というメッセージを
画面上のどこかに表示させなさい。
【 期限 】 12/23
【 Ver. 】1.4
【 補足 】 24時間時計とはこういうものです。
http://www.imskk.com/images/tc_image.jpg どなたかお願いします。
>>278 class Test {
public static void main(String[] args) {
SubTest st = new SubTest();
Testdata[] td = st.set();
st.show(td);
}
}
class SubTest {
protected Testdata[] set(){
Testdata td[] = new Testdata[3];
td[0] = new Testdata();
td[1] = new Testdata();
td[2] = new Testdata();
td[0].s = "あいうえお";
td[0].i = 1;
td[1].s = "かきくけこ";
td[1].i = 2;
td[2].s = "さしすせそ";
td[2].i = 3;
return td;
}
protected void show(Testdata td[]){
for(int i = 0; i < td.length; i++) {
System.out.println(td[i].s);
System.out.println(td[i].i);
}
}
}
Testdataは同じ
282 :
275 :2005/12/22(木) 00:16:59
>>276 その文で実行してみましたが、2個数字を打った後も*が表示され終わることが出来ません
それに習ってない文が何個かあるのでばれてしまいます。。。
283 :
デフォルトの名無しさん :2005/12/22(木) 00:25:20
>>249 ちょっと強引かもしれないけど。
public class Case249 {
public static final int ONE;
public static final int TWO;
private static int ONE_DUMMY;
private static int TWO_DUMMY;
public Case249() {
// コンストラクタでダミーを初期化
ONE_DUMMY = 100;
TWO_DUMMY = 200;
}
static {
// new メッセージ送信
new Case249();
}
static {
// blank final の初期化
ONE = ONE_DUMMY;
TWO = TWO_DUMMY;
}
public static void main(String[] args) {
System.out.println(new Case249().TWO);
}
}
と 書いてみたものの、コンストラクタで実装 というのとはちょっと違うかも。
285 :
デフォルトの名無しさん :2005/12/22(木) 05:30:01
【 課題 】GUIを用いて画像処理を行うプログラムを作成せよ。 内容は以下の通り。 1.ウィンドウ内に「画像表示部・ボタン」を作る。 2.ボタンは「読み込み・エッジ検出・平滑化・鮮鋭化」の4つ。 3.「読み込み」ボタンを押すと”FileDialog”により グラフィックファイルを選択し、画像表示部にその画像を表示する。 4.「エッジ検出・平滑化・鮮鋭化」ボタンを押すと、 現在表示されている画像に対して それぞれに応じた処理がされた画像が画像表示部に表示される。 【 期限 】12月24日ですが、26日でもかまいません。 【 補足 】「保存機能」は必要ないです。上では処理は3種類ありますが、 お時間がなければ1つでもかまいません。 ウィンドウのレイアウト、およびグラフィックファイルを読み込んで 表示するところまでは出来るんですが、その後の処理を行う部分がわかりません。 どなたかよろしくお願いします。
287 :
278 :2005/12/22(木) 07:39:50
288 :
デフォルトの名無しさん :2005/12/22(木) 07:53:16
【 課題 】 コマンドライン引数より取得した文字列が 数字なら「true」を、 文字なら「false」を返す プログラムを作成。 【 補足 】 1文字ではなく、文字列全部が数字の場合のみ「true」です。 おねがいします!
>288 import java.io.*; public class T54_288 { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); String str = buf.readLine(); if(str.matches("[a-zA-Z]*")) System.out.println("true"); else if(str.matches("[0-9]*")) System.out.println(("false")); } }
290 :
289 :2005/12/22(木) 08:22:47
>288 わり、trueとfalse逆だった。 import java.io.*; public class T54_288 { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); String str = buf.readLine(); if(str.matches("[a-zA-Z]*")) System.out.println("false"); else if(str.matches("[0-9]*")) System.out.println(("true")); } }
2.1が数字ならDoubleを使うってことで・・。 public class T54_288 { public static void main(String[] args) { try{ //@SuppressWarnings("unused") //double d = Double.parseDouble(args[0]); //System.out.print(true); @SuppressWarnings("unused") int a = Integer.parseInt(args[0]); System.out.print(true); }catch (NumberFormatException e) { System.out.print(false); } } }
292 :
デフォルトの名無しさん :2005/12/22(木) 16:51:44
大変ぶしつけなお願いなんですけど。。。 javaでクリスマスカードをできれば4つ作っていただけませんか? 簡単なものでよいです。 ソースを貼っていただければ幸いです。
ただ漠然とクリスマスカードといわれても・・・ もう少し詳しく要求仕様を書かないとどうしようもないよ。
294 :
デフォルトの名無しさん :2005/12/22(木) 17:00:36
課題:Javaで、年賀状を作成せよ。 どなたか助けてください!留年しちゃう!!
卒業証書もJavaでつくっとけよ。
296 :
292 :2005/12/22(木) 17:03:49
>>293 @メリークリスマスという文字が入っている
A円などの図形がカラフルに表示されている
Bボタンあり
いろいろ注文つけてすみません!
年賀状にボタンあり ?
> Bボタンあり ボタンを押すと何が起きるの?
299 :
292 :2005/12/22(木) 17:26:10
ボタンを押すと文字の色が変わる・図形が現れるなどでお願いします!
300000000000000000000000000000000000000000ゲット
301 :
288 :2005/12/22(木) 20:58:43
302 :
285 :2005/12/22(木) 22:24:15
>>286 さん
返事遅くなってすいません。
それなら特に細かい指定はございません。が、よろしければ
エッジ…オペレータ{0,1,0,1,-4,1,0,1,0}
平滑化…3×3領域の中央値(メディアンフィルタ)
鮮鋭化…オペレータ{-1,-1,-1,-1,9,-1,-1,-1,-1}
で、作成して頂けるとありがたいです。
304 :
303 :2005/12/22(木) 22:30:44
>>302 よくわからんのでSobel オペレータでやっちまったよ
305 :
285 :2005/12/22(木) 22:51:45
>>303 さん
Sobelでも全然かまいません。
それにしてもすごい出来ですね!理想の出力結果です!
306 :
303 :2005/12/22(木) 23:01:50
>>305 いや、Cマガジンの記事みてサル真似しただけ
307 :
デフォルトの名無しさん :2005/12/22(木) 23:12:32
302>> そこまで、できて、指定されているなら後は簡単じゃねぇか。 もう1個サイズの同じバッファを用意して、入力画像の左上から右下までループさせて、 各ピクセルを指定のオペレータで処理(これは単なる足し算と掛け算)して、出力バッファの 方に1ピクセルづつ出力していく。1つ出来れば、後はオペレータの係数がかわるだけだから、 クラス1つ作って、オペレータを引数などで与えればいいんじゃねぇ?
308 :
デフォルトの名無しさん :2005/12/22(木) 23:18:59
ちなみに、アンドウ・リドゥ機能を実装したければ、アンドゥバッファとリドゥバッファ(共に スタック)を用意して、画像を処理するごとに元の画像をアンドゥバッファにプッシュ。 アンドゥしたければ、アンドゥバッファから前の画像をポップし、現在の画像をリドゥバッファに プッシュ。って、以前、俺は一つのバッファでやって馬鹿たけど、二つ用意するとプログラムすっきり。
309 :
285 :2005/12/22(木) 23:41:28
>>303 さん
いえいえ、それでも私にとって十分ありがたいです。
よければ、そちらのコードを教えていただけないでしょうか?
>>307 さん
おっしゃるとおりです。自分も最初はそう考えていて出来ると思って
いたのですが、いざやってみるとピクセルの取得や受け渡し、処理が
思ったようにいかず行き詰ってしまったんです…。
なんともお恥ずかしい限りです。
>>308 さん
なるほど、あると非常に便利な機能ですね!プログラムが一段落したら
308さんのアドバイスに従って挑戦したいと思います。
310 :
デフォルトの名無しさん :2005/12/22(木) 23:50:09
ちなみに、Javaのどのクラスを用いて画像の読み込み・表示に成功したのでしょうか?
311 :
285 :2005/12/23(金) 00:18:00
>>310 読み込みは「Toolkit」、表示は「Canvas」であってると思います。
312 :
303 :2005/12/23(金) 01:48:56
313 :
285 :2005/12/23(金) 02:14:29
>>312 さん
わざわざ作業途中なのにうpしてもらって本当にありがとうございます!
自分にとっては十分参考になるので勉強させていただきます。
【課題】 彼女をつくれ 【期限】12月24日 【Ver 】1.4 全然出来なくて困ってます どなたかよろしくお願いします
>>314 クールなユーザインターフェースにするとかか、
円のインスタンスを大量に持つのがいいんじゃないか?
完成したら街でデモして…
>>315 お前にはこの課題は無理なようだ。
あきらめろ
317 :
303 :2005/12/23(金) 14:19:02
【 課題 】 入力文字列を暗号化して暗号文ファイルに保存する。 その際、入力文字列が既に登録されているものと一致した場合に 告知するJavaプログラムを作成せよ。 保存された暗号文からの元の文字列の復元・解読不能にする事。 【 Ver 】tiger 【 補足 】 平文での保存・マッチングの部分は出来たんですが、 暗号化がさっぱりです。
>>318 復元・解読が「困難」ならなんとかなるけど、「不可能」は
無理かもね。
例えば、適当な乱数を発生させて鍵として記憶しておいて、
平文にビット毎に xor かけてやれば解読は困難になるけど、
暗号文から鍵長を求められてしらみ潰しで鍵を探索されちゃうと、
平文に日本語で意味のある単語が入っているとか言う知識で解かれちゃう。
しかも一致するかどうかを調べるんだから、情報を欠落させるわけにも
行かないし。
md5でいんでね?一致するかは再度暗号化して、保存されたものと 比較すればNP。
訂正。 ソースコードを読まれても復元・解読不可に…という要件も追加。 入力文字列と鍵が揃わないと、暗号化文字列がワカラナイように すれば良いのかなと思います。 文字列(秘密鍵?)+鍵(公開鍵?) →(暗号化)→ 暗号文(公開可能) って事でしょうか… 「解読不可能」とかの強度については、 どんな暗号でも一応時間さえあれば解けないものは無い、との事で もちろんすぐに解析して解けるようなのはダメだけど、 原理さえしっかりしてればいいらしいです。
md5..調べてみました。正にコレっぽいです。 java.security.MessageDigestというクラスを使って入力をハッシュに 変換する関数でも噛ませれば良さそうですね。 使い方とか調べてみます。
md5 は異なることは主張できても一致しているかはわからないよ。 理論上指数関数的に一致する物があるもの。 特定の入力と md5 が同じ別の入力を作るのは依然困難だけど、 md5 の値が一致する異なる入力を作る方法は去年開発されているし。
324 :
285 :2005/12/23(金) 16:50:42
>>317 さん
どんどん理想形になっていてすばらしいです。
本当にありがとうございます!
なんとか完成させることができました。
ご協力ありがとうございました。
>>323 MD5…脆弱らしいですね…ニュースとかで確認しました。
そこ突っ込まれると何か嫌なので、SHA-512を使うことにしました。
MessageDigest.getInstance("MD5")を"SHA-512"に換えただけですが。
326 :
デフォルトの名無しさん :2005/12/23(金) 16:59:25
>>322 メッセージダイジェストはこの課題には当てはまりません・・・
標準APIの中に、データを暗号化するクラスがあります。
それを使ってください。
キーが同じなら暗号データは同じなので、それを照合すれば
文字列のマッチングもできます
>>326 暗号化というよりはセキュアなパスワード認証の課題で、
暗号文の復元は目的としないのでメッセージダイジェストで十分そうです。
だからメッセージダイジェストは多対一対応だから、複数ヒットすることが 保証されているんだよ。必ず異なる平文でヒットするんだよ。 一方向性ハッシュ関数はその別の平文を求めることが困難なだけ。 長い数をある数で割って余りだけ保存しておくような物。 一致することを保証するなら、必ず平文と同じ長さ以上の暗号文が生成できないとだめ。
329 :
303 :2005/12/23(金) 19:25:35
>>324 ttp://itaro.kir.jp/cgi-bin/up/src/ita0041.zip エッジは Sovelオペレータ
平滑化は 加重平均平滑化 マスク{1,1,1, 1,4,1, 1,1,1}
鮮鋭化は マスク{-1,-1,-1 ,-1,9,-1, -1,-1,-1}
一部仕様は満たしてないけどここまでできた、動作確認頼む
330 :
285 :2005/12/23(金) 19:38:53
>>329 さん
動作確認できました!もう大満足の出来です!
お時間かけて作ってもらい、本当にありがとうごさいました!
331 :
デフォルトの名無しさん :2005/12/23(金) 19:51:51
【 課題 】JTreeにルートノードだけ追加し、ノードを右クリックで選択したときポップアップメニューで ”新規作成””削除””名前の変更””コピー””切り取り””貼付け”を表示させる。 メニューの機能を実装する。 ”新規作成”を選択した場合フォルダかファイルを選択できるようにする。 ダイアログを表示させ、入力した名前をノードの名前として表示させる。 ”名前を変更”を選択した場合、ダイアログを表示させ元々の名前を表示させる。 コピー、もしくは切り取りして貼付けした場合、もう一度コピー、切り取りされるまで 何度も貼付けができるものとする。 ルートノードは切り取り、削除できないようにする。 ファイルには新規作成できないものとする。 【 期限 】12/26(月) 【 Ver 】1.4.2_09 新規作成でファイルとフォルダを作成する部分がよくわからないのとコピーしたあと貼付けするときに なぜか二度連続できません。 よろしくおねがいします。
332 :
デフォルトの名無しさん :2005/12/23(金) 21:02:35
326>> 課題でどこまでやるのかわからんし、キーも入力させ暗号化したものを復号化するなら、 メッセージダイジェスト必要じゃねぇ?? そうしないと正しく復号化できたかわからん。 例えば、平文のハッシュを計算して、平文を暗号化した暗号文の後に、そのハッシュを付加して 保存、復号時には、末尾のハッシュを取り除いた部分を入力されたキーで復号化。 で、そのハッシュを求め、末尾にハッシュと一致したら、キーが正しい
333 :
デフォルトの名無しさん :2005/12/23(金) 21:04:07
まぁ、もちろん、正しく復号できたか判定するのは、ハッシュじゃなくて、 固定IDを埋め込む方法もあるが
334 :
デフォルトの名無しさん :2005/12/23(金) 21:37:07
さあ、はやく回答するがいい!
だが断る。 〜終了〜
336 :
314 :2005/12/24(土) 12:23:14
やっぱりjavaでは無理なんだ。 うわーーーーん。
Javaの仕事してると彼女できたりするけどね
338 :
デフォルトの名無しさん :2005/12/24(土) 12:46:36
>>336 みんなJavaで彼女作ったぜ
ここでたのんでもそれは
>>314 の彼女にはならないってことだな
【課題】下のAAみたいなテニスをつくる(四角がラケット・丸がボール) 右側はキーボードの上、下 左側はキーボードのe、x でラケットを上下させよ 但し、appletで実装せよ 【期限】1月7日まで 【補足】 ラケットに当たらず右か左の外に出たら初めからリスタート コートの大きさの指定やボールの速さの指定はありません。 ボールは初めは常に右のコート外から左に斜め45度下向きに出てくるように。 得点やゲームの終了条件は特に必要ありません。 よろしくお願いします □ o □
341 :
デフォルトの名無しさん :2005/12/24(土) 16:05:30
【 課題 】@Java・C++・XMLなどの文字がデータベースへ入っています。 それの値を取得して、ラジオボタン又はチェックボックス として並べて表示させるプログラムを書きなさい。 Aりんご・みかん・ばななには、値が設定されています。 その値を昇順に並べて表示しなさい。 【 用語 】 特になし 【 期限 】12月26日 【 Ver 】特になし 【 補足 】意味不明な質問、本当に申し訳ないのですが助けてほしいです。 JSPで実装するらしいのですが。。。 データベースに値が追加されていくことも考えて作成しろと言われま したがさっぱりです。
さっきからプログラムを実行しようとしたら Exception in thread "main" java.lang.NoClassDefFoundError: クラス名 と表示されて実行できません。どのプログラムでも同じです。 コンパイルは通るのに実行できません。 つい先日まで普通に実行出来たのに急にこんな風になっちゃいました。 スレ違いかもしれませんがこれじゃあ課題が出来ません。 考えられる原因を教えてください。お願いします(´;ω;`)
>342 >1のwikiのFAQ
344 :
342 :2005/12/24(土) 17:37:10
>>343 おおお!!出来ましたありがとうござういました!!
>341 認識されてはいるようですが課題(特に2番)が意味不明です。 (1) データベースは何を用いればいいですか? (2)について 値とはなんですか? どこに設定されていますか? 実装/表示はJSPでするのですか?
346 :
314 :2005/12/24(土) 19:01:08
結局、期限に間に合いませんでした。 頼りにならない連中です。 本当にありがとうございました!!!
どんまい。でもまだ今日は終わっていないぞ。
>>346 あほけ、前日に質問する奴があるか( ^ω^)
>>346 (; ^ω^)<ニ万ぽっきりですよおにいさん
/ヽσ/ヽσ
) )
びじんきょくのぽんびきがあらわれた
>350 \ ∩─ー、 ==== \/ ● 、_ `ヽ ====== / \( ● ● |つ | X_入__ノ ミ そんな餌で俺様が釣られクマ―― 、 (_/ ノ /⌒l /\___ノ゙_/ / ===== 〈 __ノ ==== \ \_ \ \___) \ ====== (´⌒ \ ___ \__ (´⌒;;(´⌒;; \___)___)(´;;⌒ (´⌒;; ズザザザ
これはひどい。
353 :
デフォルトの名無しさん :2005/12/24(土) 22:34:27
>>353 反対語の問題を10問連続解かせたあと、反対語の問題を10問連続で解かせるのか
そのへんがわからん
355 :
デフォルトの名無しさん :2005/12/25(日) 00:10:46
>>345 ほんとうにもうしわけありません。
たぶんJDBCを使うのでしょう。
データベースはオラクル・もしくはMySQLです。
実装・表示はJSPです。
356 :
354 :2005/12/25(日) 00:15:02
>>354 はまちがい(^ω^;)
反対語の問題を10問連続で解かせたあと、同義語の問題を10問連続で解かせるのか?
と聞きたかった・・・
ランダムに20問表示させ
359 :
353 :2005/12/25(日) 02:34:32
>
>>354 さん
説明不足&間違いでですいません〜。反対語と同義語の問題をごちゃ混ぜにランダムで
20問、という意味です
>>353 Toi1とToi2の、mondai[]の中身をひとまとめにすればいいんじゃないの?
361 :
275 :2005/12/26(月) 02:29:03
Aクラスのrunメソッドを直接呼び出すとエラーメッセージを 表示する。(インナークラスを使用して,runメソッドをもう1つ…) ※Aクラスは必ずThreadクラスを継承する形でスレッドを使うこと! class A extends Thread { public void run() { // 呼び出し不能 と表示 System.out.println(“実行中”); } } class Program { public static void main(String ar[]) { A a = new A(); a.run(); a.start(); } } 実行結果: 呼び出し不能 実行中 お願いします
362 :
デフォルトの名無しさん :2005/12/26(月) 03:35:01
@10時間10分10秒は秒にすると何秒か? A50000秒は時間分秒に変換して表示するとどうなるか? この2件、よろしくお願いいたします!!
@36610秒 A13時間53分20秒
算数のしくだいか?
ペイントで画像をjpg保存して、それを携帯の写メで撮影し、その写メをまたPCにjpgで取り込み、 JAVAで、元のペイントの画像を読み込んでも補正しなくて、写メを読み込んでペイントで作成した画像のように色を補正したいのですが、どうすればいいですか? 写メと元画像を見分け、色の明るさや輝度を補正する様な感じで、写メだけを元画像に色を近づけたいです。 簡単なプログラムでも、サイトでも助言でもお願いします。
366 :
デフォルトの名無しさん :2005/12/26(月) 16:57:14
助言 日本語の勉強が咲きじゃないかな
367 :
デフォルトの名無しさん :2005/12/26(月) 18:15:38
日本語普通でしょ〜w 366が読解能力ナシだなww 俺は意味分かるしw
368 :
353 :2005/12/26(月) 18:16:47
>>365 は
わかるけど、繰り返しが多すぎ。複雑にしすぎ。駄文余文だ
なんて縦読みなんだ(。_。)メガネメガネ
諦めろとマジレス
あなたの知性知識意識能力知能では_でしょうよ。
372 :
デフォルトの名無しさん :2005/12/26(月) 20:06:30
>>365 は難しいよなぁ。
まず解像度が違うんじゃないの?
きっちり垂直に撮れるとも思えないし。
二つの画像が重ならないなら比較しようもないような。
374 :
デフォルトの名無しさん :2005/12/26(月) 22:48:51
【課題】
5,7行目のSystem.out.println〜を1つの文にまとめよ。
(クラス分けはしなくてよい。)
public class T54_288 {
public static void main(String[] args) {
try{
double d = Double.parseDouble(args[0]);
System.out.print(true);
}catch (NumberFormatException e) {
System.out.print(false);
}
}
}
【 補足 】
>>288 で答えてもらった解答ですが追加課題が出ました。
どなたかよろしくお願いします。
>>374 こういうやりかたはダメ?
public class T54_288 {
public static void main(String[] args) {
boolean b = false;
try{
double d = Double.parseDouble(args[0]);
b = true;
}catch (NumberFormatException e) {
b = false;
}
finally {
System.out.print(b);
}
}
}
376 :
デフォルトの名無しさん :2005/12/26(月) 23:56:09
ところでなんで学校ではAppletで教えるのだろう
377 :
353 :2005/12/27(火) 08:04:57
378 :
デフォルトの名無しさん :2005/12/27(火) 08:59:48
【課題】 実数を無限(メモリーが可能な限り)に 計算出来る電卓プログラムを作れ 【Ver 】1.4 【 補足 】BigDecimalを使ってください。
>>377 static String[] seikaiText = {"正解です",
"正解です",
"正解です",
"正解です"};
というふうに要素を増やす、あるいは
static String seikaiText = "正解です";
:
:
kakunin.setText(seikaiText);
という形に直す
>>378 1/3 = 0.3333333333333333333333333333333333333333333333333333333→無限に表示
ってこと?
>376 大昔JavaといえばAppletだった頃のなごりだと思われ。
383 :
デフォルトの名無しさん :2005/12/27(火) 22:46:33
384 :
353 :2005/12/28(水) 07:43:55
エラーの意味を理解する気が無いのがいけないんじゃないかな?
>>384 kakomon.add(0, new HashSet<Integer>());
kakomon.add(1, new HashSet<Integer>());
kakomon.add(2, new HashSet<Integer>());
kakomon.add(3, new HashSet<Integer>());
これらを
for (int i = 0; i < mondai.length; i++) {
kakomon.add(new HashSet<Integer>());
}
こう変更する
387 :
デフォルトの名無しさん :2005/12/28(水) 16:52:22
カンマ区切りでコマンドライン引数から与えられた数列を利用して合計値を求めるプログラムを以下の仕様に基づき作成せよ。 1、起動クラス mainメソッド:合計計算クラスを使い、引数の数列を合算する 2、合計計算クラス execメソッド:calcメソッドを使い数列を合計し、OutputAnswerクラスを使って結果を出力する calcメソッド:数列の合計を計算する 3、計算結果出力クラス answerメンバ:計算結果、setAnswerメソッド:計算結果をanswerにセットする displayメソッド:計算結果を画面表示する お願いします。
(コマンド) calc 1, 2, 3, 4, 5 (出力) 15 ってことでいいの?
389 :
387 :2005/12/28(水) 18:02:40
>>388 そうです!クラスのへんがよく分からないので作成できません
391 :
387 :2005/12/28(水) 18:54:03
はや!めっちゃ助かります!本当ありがとう
392 :
387 :2005/12/29(木) 18:56:15
すいません再度お聞きしたいんですが 以下の追加仕様をプログラムに組み込め 1、outputanswerクラスにfileWriterメソッドを盛り込みファイル出力出切る様にせよ。 2、与えられた配列から最大値を算出するプログラムも盛り込め。その際の出力先は画面とファイルとする。 3、クラスが増えてきたので (1)、BootStrapクラス、OutputAnswerクラス (2)、Calcクラス、CalcSumクラス、CalcMaxクラス というふうにパッケージ化せよ。 注、合計計算クラスと最大値計算クラスは計算クラスの子クラスとする。 っていう課題の内容がさっぱりわかりません。一応参考書通りにプログラム組んでコンパイル出来たのですが計算結果を出力したファイルがどこにもみあたらず困惑しています。
393 :
387 :2005/12/29(木) 19:08:48
書き忘れました!合計計算クラスで出力された計算結果と最大値計算クラスで出力された計算結果は別々のファイルで出力されるようにする。との事です。 度々のお願いで恐縮なのですが解ける方お願いします
後出しはアウト 死ね
395 :
デフォルトの名無しさん :2005/12/29(木) 20:26:46
public String[] InputNgWord() { try { FileReader fr = new FileReader("word.txt"); BufferedReader br = new BufferedReader(fr); String ngword[] = new String[1000]; int i = 0; try { while((ngword[i] = br.readLine()) != null) { System.out.println(ngword[i]); i++; } br.close(); fr.close(); //return ngword;@ } catch(IOException e) { System.out.println("err"+e); } //return ngword;A } catch(FileNotFoundException f) { System.out.println("ファイルがありません"+f); } //return ngword;B } String型配列ngwordをすべて返したいんですが@〜Bのどこに入れてもエラーが出ます どうすれば上手く配列のすべての要素を返却できるのでしょうか?
>>395 ngwordをtryブロックの外で宣言しなきゃならん
397 :
デフォルトの名無しさん :2005/12/29(木) 21:50:59
>>396 サンクス。助かりました。
ちなみになぜtryの外で宣言しないとだめなんですか?
tryブロック内で宣言した変数は、スコープがtryブロック内となる。 そのため、3の位置では変数ngwordが見つからないためエラーになる。 また、1や2の位置では値を返さないフローが発生するから それもコンパイルエラーになってしまう。
399 :
デフォルトの名無しさん :2005/12/29(木) 23:00:24
>>398 try内部で宣言した変数がローカルな有効範囲になることは知りませんでした
じゃあtryの中にやたらと変数やメソッドを宣言しない方がいいし、
この場合はint iもtryの外で宣言した方がいいと言うことですね?
int i はブロック内部でいいだろう
勘違いしてました。int i;は1つ目のtryのなかでの宣言だから、1つめのtryを catchするまでの範囲で使えました。 仮に変数iをBの部分で使おうと思ったら(実際は使わないが)int i;はtryの外で 宣言しなければいけませんよね?
402 :
デフォルトの名無しさん :2005/12/29(木) 23:29:07
そーゆーこった。例えは悪いがな。
{ } で囲まれた範囲の変数スコープについておさらいした方がいいな
>>402-403 ありがとうございました。
if(){}
for(){}
とかでもいろいろやって、変数の有効範囲を調べてみます。
お世話になりました
いずれにしてもスレ違いだ
恋人はいつもすれ違いだ
【 課題 】
↓ExpressionCalculator.java
http://ame.dip.jp/upload/1135/873922.java ExpressionCalculator.javaをもとに以下の二つの問題を解きなさい。
1. 数式を入力すると、二分木を作成し、表示するプログラムをつくりなさい
2. 1のプログラムを改造し、二分木をもとに前置式、中置式、後置式を作成し、表示するプログラムをつくりなさい
【 補足 】ceateTreeメソッド内をいろいろいじったのですが、
数値を2分木の左右に振り分ける作業に苦戦しています。
お助けを。。
俺はお前の恋人になった覚えは無いが
そもそも宿題を出した教授とか先生にここのURLさらした方がはやくね?
そうそう。どうせ、バレバレだから、さらそうがさらすまいが、 丸写しは不合格だし。
こんなマイナースレ、誰も知らないから無問題。 特に講師たちは。
413 :
講師 :2005/12/31(土) 10:08:14
認めんぞ こんなスレは
>>412 だから、講師らにURLを晒せと言っている
あんたも暇ねぇ。年の瀬だってのに。実家に顔出すのも大事だにょ〜ん。
お次の方、宿題の質問どうぞ↓
これ本番ですか?
本番行為は厳禁です。
419 :
デフォルトの名無しさん :2005/12/31(土) 16:29:22
【課題提示用テンプレ】 【 課題 】 オブジェクト指向による、1000までの素数を表示するプログラムを作れ。 【 用語 】 素数:1以外の正の整数で、1とその数以外に約数を持たない数。 例)2,3,5,7,11,13,17・・・ 【 期限 】 過ぎてます・・・。早めに出さないといけません。 【 補足 】 オブジェクト指向の考えがよくわからないので、どう作ればいいか困ってます。 よろしくお願いします。
オブジェクト指向によるの意図がよくわからんが、こんなんでいいのか? class Test { public static void main(String[] args) { Int[] num = new Int[1000]; for (int i = 1; i <= 1000; i++) { num[i-1] = new Int(i); } for (int i = 0; i < 1000; i++) { if(num[i].isPrimeNumber()) { System.out.println(num[i].getNumber()); } } } }
class Int { private int n; Int(int n) { this.n = n; } int getNumber() {return n;} boolean isPrimeNumber() { if (n <= 1) { return false; } for (int i = 2; i < n; i++) { if (n%i == 0) { return false; } } return true; } }
import java.io.*; public class Prime { public static void main(String[] args){ Number n = new Number(1); while(n.nextTo(1000)) if(n.isPrime()) System.out.print(n.out()); } } class Number { private int n; Number(int n){ this.n = n; } String out(){ return Integer.toString(this.n) + " "; } boolean nextTo(int n){ if(++this.n > n) return false; return true; } boolean isPrime(){ if(this.n <= 1) return false; for(int i = 2; i < this.n; i++) if(this.n % i == 0) return false; return true; } }
お約束だけど、 for(int i = 2; i * i <= this.n; i++) の方がいいね。
ミュータブルなNumberキモイ
気持ちの問題
426 :
419 :2005/12/31(土) 18:18:27
427 :
デフォルトの名無しさん :2006/01/02(月) 00:20:55
って言うか
>>419 の問題ってそこまで面倒臭くやらなくても、これで十分じゃないか?
public class Sosu {
public static void main(String[] args){
for(int i=2; i<=1000; i++){
if(getSosu(i)==true){
System.out.print(i+", ");
}
}
}
static boolean getSosu(int i){
for(int j=i-1;j>1;j--){
if(i%j==0){
return false;
}
}
return true;
}
}
「オブジェクト指向による」の意図がよくわからんからなぁ
とりあえず
>>427 が不合格であることだけは確実
オブジェクト指向にこだわるならこんな感じ? import java.io.*; public class Prime { public static void main(String[] args){ Numbers n = new Numbers(1, 1000); n.foreach(new AbstructNumberTester() { public void perform(int n){ if(isValid(n)) System.out.println(n); } public boolean isValid(int n){ if(n <= 1) return false; for(int i = 2; i * i <= n; i++) if(n % i == 0) return false; return true; } }); } } abstract class AbstructNumberTester { abstract void perform(int n); abstract boolean isValid(int n); } class Numbers { private int[] n; Numbers(int a, int z){ n = new int[z - a + 1]; for(int i = a; i <= z; i++) n[i - a] = i; } void foreach(AbstructNumberTester t){ for(int i = 0; i < n.length; i++) t.perform(n[i]); } }
オブジェクト指向による、って書いてあるだけなんだから、Java使ってりゃ別にいいんじゃね?
後はそれまでにどんな授業内容を受けてきたかによるだろ。
特に「何を使え」って指定がないなら
>>427 のが正しく動くか見てないけど、これで十分な気が。
たとえばアブストラクトクラスを使えとか、インターフェースを使えとか、
オブジェクト指向の特徴を上手く使ってとか、そう言う指定があるなら別だけどさ。
ぶっちゃけ、プリミティブ型を使わないロジックさえ書ければオブジェクト指向だ
オブジェクト指向を全く理解してない奴が紛れ込んでる。
オブジェクトを使って問題解決するのがオブジェクト指向でしょ つまり、プリミティブ型を使わなければオブジェクト指向だ 何か間違えてるか?
436 :
デフォルトの名無しさん :2006/01/03(火) 12:57:52
つーかよ おまいらオブジェクト指向云々とかいう前に プログラムの効率の悪さをなんとかしろよ 素数ってのは、自分より小さい素数で割り切れなきゃ素数なんだよ 2からi-1まで全部回してるやつはアホだろ
というか、この問題を出題した先生もオブジェクト指向をりかいしていなかったりして。 大学の先生とかでも最新の技術に疎い人は多いよ。
開拓することに意味があるわけで、開拓し終わった土地を、 誰がどう使おうが興味ないでしょ。
最近Java始めたばっかり何ですが、メソッドやフィールド変数は クラス(オブジェクト)に属するってのはわかったのですが、 +などの算術演算子やforなどの制御文ってどのクラスに属するのですか?
間違えました
許さん
442 :
デフォルトの名無しさん :2006/01/03(火) 13:49:42
Class class = String.class の.classってなに? プロパティ?
俺もそれ不思議に思った さらに言うと、その例で言う String ってのは何者になるの? Classのインスタンスではないし
>>443 StringクラスのString。
クラス名.classでClassクラスのインスタンスがもってこれる
StringクラスのStringってのはわかるんだけど、 Stringって何かのインスタンス?ってこと
要はクラスはオブジェクトなのかってことが知りたいな Smalltalkとかだとクラスもオブジェクトなんだけど
447 :
デフォルトの名無しさん :2006/01/03(火) 14:51:52
Stringはクラス名 たとえばStringをメタレベルで扱いたいなら まずはClassオブジェクトを取得して リフレクションAPIで操作すればいいよ メソッドでもインスタンス変数でも識別子でも取得できる
そうかクラスはオブジェクトではないんだな。 クラス名.classでそのクラスを表すClassクラスのオブジェクトを取得できるというだけか。
SUNももうちっと違う名前にしてくれればいいのに・・・
450 :
デフォルトの名無しさん :2006/01/03(火) 15:05:14
まあそういうことだね Smalltalkのように動的にクラスを拡張できる言語とは違うから Classオブジェクトで静的にメタ情報にアクセスってことで とりあえずは間に合う 設計思想の違いだからこれは仕方ないことだね
451 :
デフォルトの名無しさん :2006/01/03(火) 15:16:10
Javaの場合はコンパイル時にこれらの情報が決定するから 実行時に動的にメソッドを追加するなど SmalltalkやObjective-Cのような技は使えない これは実行効率や保守性とのトレードオフだから Javaが悪いって訳じゃない 使えなくても言語仕様やデザパタなどで実質的な代替は行える 言語そのものが趣味ならともかく普通は言語は手段だしな しかしどうしても動的な言語がすきならJavaは向いてないな 科目の選択間違えてるかもよ
452 :
デフォルトの名無しさん :2006/01/03(火) 15:29:14
そんで結局.classは何なの?
>>453 さんくす
455 :
デフォルトの名無しさん :2006/01/03(火) 17:25:05
今、eclipce環境でUSB接続Bluetoothアダプタを用いたプログラム書いてるんだが ちゃんと関連jarも追加して,デバイス検索のためのクラス使ってもそこでエラーくるんだが こういうデバイスをプログラムに関連付けるにはどうしたらいいんですか?
>439-455 スレ違い
今ごろ419 public class Test3 { public static void main(String[] args) { for (int i = 2; i < 1000; i++) { Number n = new Number(i); if (n.isPrime()) { System.out.println(n); }}}} class Number { private int n; Number(int n) { this.n = n; } public boolean isPrime() { for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return false; }} return true; } public String toString() { return String.valueOf(n); }}
459 :
デフォルトの名無しさん :2006/01/04(水) 20:34:45
んじゃおれも
>>419 。速度重視。
public class PrimeCalc {
private int[] primes;
private int ix;
public static void main(String[] args) {
int max = 0;
try { max = Integer.parseInt(args[0]); } catch (Exception e) { System.err.println("Usage: PrimeCalc <num>"); }
PrimeCalc calc = new PrimeCalc();
calc.calculate(max);
System.out.println(calc);
}
public void calculate(int max) {
ix = 0;
if (max < 2) return;
primes = new int[max];
for (int i = 2; i <= max; i++) { if (isPrime(i)) { primes[ix] = i; ix++; } }
}
public String toString() {
if (primes == null) return "";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < ix; i++) { sb.append(primes[i]).append(" "); }
return sb.toString();
}
private boolean isPrime(int i) {
for (int j = 1; j < ix; j++) { if (i % primes[j] == 0) return false; }
return true;
}
}
460 :
459 :2006/01/04(水) 20:50:41
手入れてるうちにバグはいってた。。j=0ね。 private boolean isPrime(int i) { for (int j = 0; j < ix; j++) { if (i % primes[j] == 0) return false; } return true; }
461 :
デフォルトの名無しさん :2006/01/04(水) 23:24:39
【課題】 1.発生させる乱数点の個数と試行回数はこの順にファイルからint型で入力し,Scannerクラスで読込むこと.cf.pp.300-3 例) 10000 10 なお,成分間のセパレータ(区切り)には上の例のように空白を用いよ. (補足:提出されたレポートはこちらで用意した入力ファイルを用いてチェックするのでメールに入力ファイルを添付しないこと.) 2. 入力ファイル名,出力ファイル名はこの順にコマンドラインの第一,第二引数で渡すこととする. ファイルのオープンに失敗した時は その旨をメッセージすることは勿論,コマンドラインでの使用法も画面に出力せよ.cf. pp. 306-7 3.乱数点の x,y 座標はともに区間 [-1, 1)内に一様にとられるようにすること. また単位円内に入った乱数点の個数をカウントすること. 4. データをファイルから入力する部分,乱数点を生成する部分,近似値を画面出力する部分,近似値をファイル出力する部分はそれぞれ独立したメソッドとして作ること. 5. 試行回数分の平均近似値と厳密値πを比較し,その差を求めよ. なお,平均を求めるにあたっては毎回の近似値を全部配列にとっておくのは無駄である.そうしない方法を考えよ. 6. 各自で与えたデータとそれによる計算結果が下の結果になるように出力せよ.なお,ファイルへの出力内容は画面出力と全く同じであること. [コマンドプロンプト側の表示] 発生させた乱数点の個数 = xxxxxx 試行回数 = xx 1回目のπの近似値 = x.xxxxxx 【補足】 お願いします。 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ xx回目のπの近似値 = x.xxxxxx ---------------------------------- xx回試行の平均近似値 = x.xxxxxx πの厳密値 = x.xxxxxx その差 = x.xxxxxx
462 :
デフォルトの名無しさん :2006/01/05(木) 01:47:00
464 :
デフォルトの名無しさん :2006/01/05(木) 07:40:49
>>459 アルゴリズ厶の解説くらい書け
ここはおまえのオナ二ーする場所ではない
でもいつもと違う場所でやってみると新鮮な快感があるよね。
466 :
デフォルトの名無しさん :2006/01/05(木) 12:19:22
いつもは右手だけど左手+ローション試したときは凄かった 彼女にしてもらうのとも違う快感
467 :
デフォルトの名無しさん :2006/01/05(木) 17:47:38
お願いします! 【 課題 】ウインドウ内に画像を表示して、その画像の、ある座標にカーソルを当てると文字が表示される。 【 用語 】? 【 期限 】提出期限過ぎてます… 【 Ver 】5.0 【 補足 】作成するウインドウのタイトルは「3年B組」、画像ファイル名は「Zeninsyuugou.gif」、座標に表示される文字は「ひろし君」でお願いします。 今日中になんとかなりますでしょうか? どうか宜しくお願いいたします!
469 :
459 :2006/01/05(木) 19:00:11
>>464 解説かぁ
「素数は自身より小さい素数で割り切れない数」ということを利用して
既に算出した素数を配列primesに保存しておき
判定演算の分母に使うことでループ回数を節約している
また、偶数は2を除いて素数じゃないが
primesの先頭は2なのでループせずに抜けるので都合もいい
こんなところでどう?
>>467 300x300の真ん中の部分にマウスを持ってくると
JToolTipで"ひろし君"と表示するようにしてみた。
import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class AlbumViewTest {
Image image;
public static void main(String[] args) {
JFrame frame = new JFrame("3年B組");
frame.getContentPane().add(new AlbumView("ひろし君", "Zeninsyuugou.gif"));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300); //イメージの大きさにする
frame.setVisible(true);
}
}
class AlbumView extends JComponent {
Image image;
public AlbumView(String s, String img) {
setToolTipText(s);
image = Toolkit.getDefaultToolkit().getImage(img);
}
public String getToolTipText(MouseEvent e) {
int x = e.getX(); int y = e.getY();
if ((100 < x && x < 200) && (100 < y && y < 200)) return getToolTipText();
else return null;
}
public void paintComponent(Graphics g) {
if (image != null) g.drawImage(image, 0, 0, this);
}
}
471 :
デフォルトの名無しさん :2006/01/05(木) 21:16:07
ひとし の方が都合が良いのですが お願いします
472 :
467 :2006/01/05(木) 21:48:10
>>470 ありがとうございます!
ただ伝え忘れてた事がありまして、画像サイズは480,480なんです。
それと、座標の数字さえ変えれば、他の人の名前も表示できるようになっていないといけないんです。
なので真ん中に表示ではなく、座標を書き換えるだけでいいプログラムに改良できませんか?
わがまま申し訳ありません。
>>471 ひとし でもなんでもOKです。(ひとし君はいないので後で書き換えますけど)
>>472 直してみた。こんな感じでどうかな。
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*;
public class AlbumViewTest {
public static void main(String[] args) {
Image img = Toolkit.getDefaultToolkit().getImage("ZeninSyuugou.gif");
AlbumView view = new AlbumView(null);
view.addMateInfo(new MateInfo("ひろし", new Rectangle(0, 0, 50, 50)));
view.addMateInfo(new MateInfo("さくら", new Rectangle(100, 100, 50, 50)));
JFrame frame = new JFrame("3年B組"); frame.getContentPane().add(view);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(480, 480); frame.setVisible(true);
} }
class AlbumView extends JComponent {
private java.util.List mates = new ArrayList(); private Image image;
public AlbumView(Image img) { image = img; setToolTipText("dummy"); }
public String getToolTipText(MouseEvent e) {
int x = e.getX(); int y = e.getY();
Iterator it = mates.iterator(); while (it.hasNext()) {
MateInfo mate = (MateInfo)it.next();
if (mate.isSelected(x, y)) return mate.getName();
}
return null;
}
public void addMateInfo(MateInfo info) { if (info != null) mates.add(info); }
public void paintComponent(Graphics g) {
if (image != null) g.drawImage(image, 0, 0, this);
} }
class MateInfo { private Rectangle rect; private String name;
public MateInfo(String n, Rectangle r) { name = n; rect = r; }
public String getName() { return name; }
public boolean isSelected(int x, int y) { return rect.contains(x, y); }
>>474 の以下のところミス。訂正。
AlbumView view = new AlbumView(img);
476 :
デフォルトの名無しさん :2006/01/06(金) 09:19:05
【課題】 身長(センチメートルでなくメートルで計算)を入力し、 標準体重を出しなさい。 身長がマイナスの値なら、処理を終了。 プラスなら処理を繰り返すプログラムを作成しなさい。 適正体重の範囲は、身長×身長×17.5以上〜身長×身長×24未満とする。 よろしくお願いします。
477 :
デフォルトの名無しさん :2006/01/06(金) 09:20:48
>476 2行目 標準体重ではなく、適正体重の間違いでした。
>>476 動作確認よろしく
public class T54_476 {
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in);
while(true) {
System.out.println("身長を入力してください。");
System.out.print(">");
double height = in.nextDouble();
if (height < 0) break;
System.out.printf("適正体重は%.2fkg以上〜%.2fkg未満です。%n%n", height * height * 17.5, height * height * 24);
}
}
}
479 :
デフォルトの名無しさん :2006/01/06(金) 11:13:09
>>479 HTMLファイルでのリンクってこんなじゃないのか?
<hteml>
<head><title>初期画面</title></head>
<body>
<a href="4択クイズ.html">4択クイズ</a>
</body>
<html>
481 :
デフォルトの名無しさん :2006/01/06(金) 22:38:04
【 課題 】 2005年11月のカレンダーのみを出力させよ。 誕生日の数字(1日)を特に強調 (背景が緑)せよ。 【 期限 】提出期限 2006年1月10日朝 【 Ver 】1.4.2 J2SE SDK 【 補足 】特にありません。お願いします。。。
482 :
デフォルトの名無しさん :2006/01/06(金) 22:42:49
【 課題 】 2005年11月のカレンダーのみを出力させよ。 誕生日の数字(1日)を特に強調 (背景が緑)せよ。 【 期限 】提出期限 2006年1月10日朝 【 Ver 】1.4.2 J2SE SDK 【 補足 】すみません、補足です。 @アプレットを用いよ A土曜日は青色、日曜日・休日は赤色で。 B曜日の順番は日月火水木金土で。
483 :
デフォルトの名無しさん :2006/01/06(金) 23:38:34
484 :
デフォルトの名無しさん :2006/01/07(土) 10:50:25
【 課題 】 アプレットビューワーで自分の名前を入力すると カレンダーを出力させるプログラムを作成せよ 【 期限 】提出期限 2006年1月16日朝 【 補足 】カレンダー部分はできてるので 名前入力を認識する部分を教えてもらいたいです
なんだってこうアプレットばっかりなんだ アプレットのやつはやる気しねー
禿
>>485 それを見越して先生はアプレットの問題出してたりしてw
>484 名前を入力することとカレンダーを表示することに何か関係があるの?
489 :
デフォルトの名無しさん :2006/01/07(土) 13:16:13
>>488 名前をパスワードの代わりにして、正しかったらカレンダーの画面、
間違っていたら「名前が正しくありません」というかんじにするだけで、
意味はあまりない・・・
名前の認識なんて、ただのequals比較でいいじゃん
491 :
デフォルトの名無しさん :2006/01/07(土) 14:14:47
>>490 それのやりかたとかがあまりよくわからない。
String inputName = getUserInputName(); final String validName = "正しい名前"; if (validName.equals(inputName)) { //正しい場合 } else { //正しくない場合 }
名前入力を認識する部分 って具体的には何をしたいの? (何をしないといけないの?)
自然数 N が与えられたとき、 1 から N までの数字を N 個並べる組み合わせをすべて 列挙するプログラムは Java で書くとどうなりますか? 例えば N = 3 のとき 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 となるようにです。 よろしくおながいします。
>>494 意味不明
もしかしてN=9が最大かな?
>494 // NumberDisplayDemo.java import java.util.ArrayList; public class NumberDisplayDemo { public static void main(String[] args) { int number = 3; StringBuffer buffer; ArrayList<Integer> list = new ArrayList<Integer>(); for( int i=0; i<factorial(number); i++ ) { for( int k=0; k<number; k++ ) list.add(k); buffer = new StringBuffer(); for( int j=0; j<number; j++ ) { buffer.append( " " + (list.remove( (i/factorial(number-(j+1)))%(number-j) )+1) ); } System.out.println(buffer); buffer = null; } } private static int factorial(int num) { if( num <= 1 ) return 1; else return num * factorial(num-1); } }
>>494 先こされたか。
こっちはintの配列をチェックと結果格納の一石二鳥アルゴリズムでやってみた。
public class UnitGen {
private static int N;
private static int[] r;
public static void main(String[] args) {
try {N = Integer.parseInt(args[0]);if (N < 1) throw new Exception();}
catch (Exception e) {System.err.println("Usage:UnitGen <N>");System.exit(1);}
r = new int[N]; calc(0);
}
private static void calc(int c) {
for (int n = 1; n <= N; n++) {
if (check(c, n)) continue;
int t = c + 1; r[c] = n; if (c < N - 1) calc(t); else print(); r[c] = 0;
}
}
private static void print() {
for (int i = 0; i < N; i++) System.out.print(r[i]); System.out.println("");
}
private static boolean check(int c, int n) {
for (int i = 0; i < c; i++) if (n == r[i]) return true; return false;
}
}
作成した複数のJAVAアプリケーション(例えばhellowolrd.java,helloworld2.java)を タブやボタンを使って、それを押すとプログラムが開始されるメニューを作成してくださいっていう課題なんですけど、よくわかりません。 誰か教えてください・・。
>>494 微妙なのができた
public class Test {
public static void main(String[] args) {Test test = new Test(4);}
int size; MyList list;
private Test6NList(int size) {this.size = size;list = new MyList(size);test(0);}
private void test(int x) {
if (x == size) {return;}
for (int i = 1; i <= size; i++) {
if (isSet(x, i)) {continue;}
list.set(x, i);
if (x == size -1) {System.out.println(list);}
test(x + 1);
}}
private boolean isSet(int x, int i) {
for (int j = 0; j < x; j++) {if (list.get(j) == i) {return true;}}
return false;
}
class MyList {
ArrayList<Integer> list;
MyList(int size) {
list = new ArrayList<Integer>(size);for (int i = 0; i < size; i++) {list.add(null);}}
Integer set(int x, Integer i) {return list.set(x, i);}
Integer get(int x) {return list.get(x);}
public String toString() {
StringBuffer sb = new StringBuffer();
Iterator<Integer> itr = list.iterator();
while (itr.hasNext()) {
sb.append(" ");
sb.append(itr.next());
}
return sb.substring(1).toString();
}}}
>>494 http://www.gulf.or.jp/~damayan/algo/PermEnum.javaをベースに いじってみた。でも速度は
>>497 の方が速いな。
public class PermEnum {
static private int N, k; static private int[] n, c;
public static void main(String[] args) {
try { N = Integer.parseInt(args[0]); if (N < 1) throw new Exception(); }
catch (Exception e) { System.err.println("Usage:UnitGen <N>"); System.exit(1); }
n = new int[N]; for (int i = 0; i < N; i++) n[i] = i + 1;
c = new int[N + 1]; for (int i = 0; i <= N; i++) c[i] = i;
k = 1;
for (k = 1; k < N; ) {
int x = 0; if ((k & 1) != 0) x = c[k];
int tmp = n[k]; n[k] = n[x]; n[x] = tmp;
for (k = 1; c[k] == 0; ) c[k] = k++; c[k]--;
for (int i = 0; i < N; i++) System.out.print(n[i]); System.out.println("");
} } }
>>498 言ってることがよく分かんないんだけど
JavaのGUIのボタンを押すと、GUI上にhelloworldとかの出力結果を表示する」であってる?
>>498 単にリスナーから作ったプログラムのmain()を呼ぶだけじゃないの?
504 :
デフォルトの名無しさん :2006/01/08(日) 06:58:01
502さんの言ってるようなことだと思います。 よろしくお願いします。
505 :
fumiko :2006/01/08(日) 15:09:22
>>505 おまえ後輩か……。俺も一年の時同じ授業とったよ。
ていうか「↓で説明されている【程度】の技術で作った【簡単な】もの」ってどうよ。 なら自分でやれば?
509 :
fumiko :2006/01/08(日) 21:56:49
>507 気に障ったようならすいません。 ここで教えてくださる方々の視点から見ての言い方をさせてもらいました。 私にとっては決して簡単なものではありませんが、JAVAプログラミングをかなりやってる方にとっては大学の授業の内容は限られた技術しか使ってないと思うので、こういう言い方になったまでです。 言い方が教えを請う立場のものでなかったことを深くお詫びいたしますm(__)m >506 先輩ですか!?自力で出来ましたか?私は12月くらいからついていけなくなっていてキツいです。。
>>507 気持ちはわかるけど
まぁ、そう突っかかんなさんな
ここは一つ茶でもドウゾ( ・∀・)っ旦
>>509 俺は授業出ないで課題だけメールで出して最後のテストは時間半分で終わって優だったよ。
てゆか、大学名は愚かどの授業か特定できるような書き方するなよ。
ズルしてること通報されちゃうよ?
>>511 そういや去年の6月頃にうちの大学でバレちゃったのがいたな…
513 :
デフォルトの名無しさん :2006/01/09(月) 02:45:27
【 課題 】 いくつかのキーフレームを用いて、簡単な「歩く」アニメーションを作成せよ。 また、ボタン操作などによって速さを変化できるようにせよ。 【 期限 】1月9日 【 Ver 】1.4 【 補足 】よろしくお願いします。
>>508 氏
ありがとうございます。
なんか自分は考え方から違ってたようです・・。
また何かあったらよろしくお願いします。
連投すいません
>>508 氏
メニューから選ぶプログラムの中にウィンドウを表示する物もあるんですが、
そのウィンドウを閉じるとメニューのウィンドウも一緒に閉じてしまいます。
メニューのウィンドウは残すようにするにはどうすればいいんでしょうか?
説明不足ですいません・・。
516 :
デフォルトの名無しさん :2006/01/09(月) 15:28:22
TextFieldに文字を打ち込んだ後(パスワードみたいな感じ)に、 すでに作られたアプレットを表示する方法ってどうやるんですか? public class Password extends Applet { テキストフィールド; public void paint(Graphics g) { : : : } } の真ん中に作ってあるやつを表示したいのですが。 Swingは使わないです。 v 1.4.2
517 :
デフォルトの名無しさん :2006/01/09(月) 15:28:40
519 :
デフォルトの名無しさん :2006/01/09(月) 19:20:58
【 課題 】少数つき、数字の桁数チェック 引数: 数値・ 小数点以上の最大桁数・ 小数点以下の最大桁数 戻り値: boolean 【 期限 】1/13 【 Ver 】1.3 引数で渡された数値の桁数が指定された桁数に 合ってるかのチェック関数です。
>>519 boolean figureCheck(int n, int z, int d){
if(z <= 0 || d <= 0) return false;
for(int i = 0; i < z; i++){
n /= 10;
}
return (n == 0);
}
521 :
デフォルトの名無しさん :2006/01/09(月) 19:55:57
課題:ポートをスキャンするプログラムを作りなさい。 java PortScan IPadress port 期限:1月11日 お願いします。
522 :
519 :2006/01/09(月) 20:05:26
すいません、間違えました。 桁数に有ってるかではなく、 桁数内かでした・・ 例 123.56、3、2 と渡された場合は、true 123.56、2、2 と渡された場合は、 小数点以上が3桁なので1桁多くなりfalseとかです・・ たびたび、申し訳ないです。
課題提示用テンプレ】
【 課題 】
自分で自己再帰性のある図形 (フラクタル図形) を考えるか,本などで調べて,そのフラクタル図形を描画するプログラムを書きなさい.
自分で考えた図形の方が評価が高い.
プログラムは再帰で書き,再帰の回数の指定をチョイスで出来るようにすること.
クラス Applet を継承して作ること.
この課題は,再帰とイベント処理の理解度を確認するためのものである
クラスは Problem5,ソースコード名は Problem5.java,HTMLファイルは Problem5.html とすること
【 期限 】提出日 1月14日
【 Ver. 】1.4.2
【 補足 】丸投げですみません。よろしくお願いします。
こちらのサイトにupして頂けるとあり難いです。
ttp://www.wikiroom.com/java/
524 :
デフォルトの名無しさん :2006/01/09(月) 21:27:59
【 課題 】アプレット上でテキストフィールドにパスワードを入力して Enterを押して正しかったら画面を切り替えてスケジュールを表示せよ。 もし間違いだった場合は「パスワードが違います。」と表示し、 さらに3回連続で間違えた場合アプレットを強制終了するように設定せよ。 【 期限 】2006年1月13日(金) 【 Ver 】J2SE 1.4.2 【 補足 】スケジュールだけは作れたので、その前後をお願いします。 Swingは使用禁止です。お願いします。
無茶ゆーたらいかん
>>522 こんなんでおk?
public class Test{
public static void main(String args[]){
System.out.println(checkDecimal(123.56, 3, 2));
System.out.println(checkDecimal(123.56, 2, 2));
}
public static boolean checkDecimal(double d, int m, int n){
// 小数を文字列表現に
String str = Double.toString(d);
// 小数点の位置を取得
int p = str.indexOf('.');
// 整数部分の桁数を取得
int a = p;
// 小数点以下の桁数を取得
int b = str.substring(p + 1).length();
System.out.println(d + "の整数部分は" + a + "桁,小数部分は" + b +"桁.");
return (a <= m && b <= n);
}
}
>>521 課題出した奴殴っていいよ
課題としておかしいと言っておけ
>>527 RMI はよくしらないが、眠れなくて暇だし、問題が良心的なので、脳内ヒント
(課題5) グループからメンバーを離脱
グループへメンバーを参加させる join メソッドが定義されているので、
対照的にメソッドを書く。 名前は leave くらいかな?
プロトコルの仕様は、Remote インタフェースを継承した Group インタフェースに書かれているので、
ここにメソッドを追加する。さらに、サーバ GroupServer で新しく加えたメソッドの実装を行う。
このままだと、誰が呼び出すのか?という話になるので、
クライアントのメインメソッドを編集して、サーバの新規メソッドを呼び出すようにし、
動作を確認することまでやるのが模範的だろう?
ちょいちょいとメンバーを追加し、ちょいちょいとメンバーを外す。
サーバ側で、その様子が標準出力にでるのを確認。
(続く)
531 :
530 :2006/01/10(火) 03:07:43
(続き) (課題6) グループサーバのメンバーの永続化 親切にも?、メンバを保存・読み取るための write メソッドと read メソッドが GroupServer クラスに用意されているので、これをそのまま使えばいいのでは? ただし、誰が呼び出すのかという問題はある。 (方法1)RMI とは関係なく、GroupServerにサンプル的なメインメソッドを新しく作って、 いくつかメンバーの追加後 read メソッドや write メソッドを呼び出すか、 (方法2)あるいは、RMI 経由でクライアントから呼び出すという方法が考えられる。 この問題を出した人は後者を求めているのかな? 後者の場合は、課題5と同じように、 Group インタフェースを拡張し、read メソッドや write メソッドを追加する。 (この際、RemoteException を投げる宣言が必要と思われ。RMIよくしらないけど。 実装の方の GroupServer における同メソッドには別に必要ないと思う) そして、課題5と同様、クライアントのメインメソッドを編集して、 サーバの新規メソッドを呼び出し、動作を確認することまでやる。 ちょいちょいとメンバーを追加し、write メソッドを発行。 read メソッドの動作確認もやるのが模範的だろうが、 読み込んだメンバの確認とか、どうやるんだろうなw 以上、あくまでも暇つぶしの脳内変換なので、動かなくても知らんがなw
532 :
530 :2006/01/10(火) 03:11:01
自己レス >クライアントのメインメソッドを編集して よく考えたら、別に新しいクライアント用クラス作ればいいんだな。
533 :
530 :2006/01/10(火) 03:18:21
そして良く見ると、Member クラスは equals メソッドが定義されているのに、 hashCode が定義してない。 サーバ側で HashSet あたりを用いていたら、OUT だが(何が)、 LinkedList は hashCode は使ってないだろうからギリギリセーフ?(何が)
534 :
476の者です :2006/01/10(火) 15:13:26
>478さん 動作確認できました。 書き込みが遅れてしまって本当に申し訳ありません。 ご丁寧にありがとうございました。 また、機会があれば宜しくお願いします。
【 課題 】 身長(m)と体重(kg)を入力しBMI値を表示させなさい。 身長がマイナスの値なら、処理を中止。 プラスなら処理を繰り返すプログラムを作成しなさい。 尚、BMI=体重÷(身長(m)×身長(m))とする 【 Ver 】特になし 【 補足 】途中まで作ってみたのですが、動作確認は出来るものの、 身長がマイナスの値なら、処理を中止し、 プラスなら処理を繰り返すというのが、出来ません。 下に作ったのをのせておきますので、 宜しくお願いいたします。 import java.io.*; public class Sample1{ public static void main(String args[]) throws IOException { double height, weight, bmi; BufferedReader data = new BufferedReader(new InputStreamReader(System.in)); System.out.println("身長を入力してください>"); height = Double.parseDouble(data.readLine()); System.out.println("体重を入力してください>"); weight = Double.parseDouble(data.readLine()); bmi = weight/(height*height); System.out.println("あなたのBMIは," + bmi + "です."); } }
>>535 import java.io.*;
public class Sample1{
public static void main(String args[]) throws IOException {
double height, weight, bmi;
boolean flag = true;
do{
BufferedReader data = new BufferedReader(new InputStreamReader(System.in));
System.out.println("身長を入力してください>");
height = Double.parseDouble(data.readLine());
System.out.println("体重を入力してください>");
weight = Double.parseDouble(data.readLine());
if(height < 0 || weight < 0){
System.out.print("不正な値です.");
flag = false;
}
else{
bmi = weight/(height*height);
System.out.println("あなたのBMIは," + bmi + "です.");
}
}while(flag);
}
}
537 :
デフォルトの名無しさん :2006/01/10(火) 16:16:37
【 課題 】 1対1でチャットができるサーバプログラムをマルチスレッドを用いて 作成しなさい.クライアントプログラムは T0.java とし, クライアントからの入力コマンドに応じて次のような動作をおこなうこと. 独自の機能を追加してもよい. その場合,追加機能の内容に応じて基本評価に加点する. プログラムの説明,およびソースコードと実行結果画面を提出する. クライアントからの送信文字(一文字コマンド) q:切断 d:現在日時の送信 f:ファイル(サーバ側:index.html)の内容を送信 g:3秒毎に10回「Hello!」を送信 【 補足 】 下にコマンドされた動作だけでいいのでお願いします。 17:50くらいまで
539 :
デフォルトの名無しさん :2006/01/10(火) 18:31:09
540 :
デフォルトの名無しさん :2006/01/10(火) 20:06:43
【 課題 】音楽に合わせてボタンを押すことにより、曲のテンポ(速さ)を測定するプログラムを書きなさい 【 期限 】期限は特にないのですがなるべく早い方がいいです。 【 補足 】丸投げですすいません
>>530-533 どうも親切にありがとうございます。
知識不足でよくわからないのですが、問5は
public void join(Member m) throws RemoteException {
list.add(m);
System.out.println(m);
System.out.println(list.size());
}
public void leave(Member m) throws RemoteException {
list.remove(m);
System.out.println(m);
System.out.println(list.size());
}
って感じに繋げてGroupClient.javaの最後に
group.join(m);
group.leave(m);
ってやればいいんですかね?
>プロトコルの仕様は、Remote インタフェースを継承した Group インタフェースに書かれているので、ここにメソッドを追加する。
というのがよくわかりません・・。
問6はGroupServer.javaの、list.add(m);とSystem.out.println(m);の間の行にread、
m = (Member)ois.readObject();と}の間にwriteをいれるだけと教わりました。
readとwriteはただ単に、readObject();とwriteObject();って書けばいいんですかね・・。
>>538 RGBではだめ。まずHSBを理解しる。
ColorクラスにはHSBでのAPIがあるので、色相を変化させれば良い。
544 :
521 :2006/01/10(火) 22:07:24
期限が迫っているのでよろしく御願いします。
547 :
541 :2006/01/10(火) 22:54:07
548 :
デフォルトの名無しさん :2006/01/10(火) 23:19:07
【 課題 】ファイルダイアログを開いて音楽ファイルを選択し再生するプログラム。 音楽の再生ボタンと停止ボタンを作ること。 【 期限 】1/12までに 【 補足 】 丸投げです。細かい仕様は問いません。
>>544 ポートスキャンなんてすべきでない
と回答しなさい
【 課題 】System.out.print()はprint()関数を呼び出していますが そのprint()関数は一体何処で定義されていますか? 分かりやすく説明しなさい。 【 期限 】明朝 【 補足 】問題の意味が分からないので調べているのですが 以前分からないままで、間に合いそうにありません これからはもっと勉強するつもりですので、今回はどうかお願いします
552 :
551 :2006/01/11(水) 00:01:18
日付が変わってしまいました 明朝と言うのは、今日の朝の事です
>>541 プロトコル定義、いまならお得 read, write メソッド付き:
public interface Group extends Remote {
void join(Member m) throws RemoteException;
void leave(Member m) throws RemoteException;
void write() throws RemoteException;
void read() throws RemoteException;
}
クライアント定義 leave 用:
public class GroupClientToLeave {
(中略) group.leave(m); (後略)
クライアント定義 write 用、及び、read用
(前略) group.write(); (後略) および
(前略) group.read(); (後略)
なお、引数から Member インスタンスの生成はいらない
あとは4種類のクライアントをいろいろ起動して遊ぶ。脳内記述にて保証はしない。
>問6はGroupServer.javaの、list.add(m);とSystem.out.println(m);の間の行にread、
>m = (Member)ois.readObject();と}の間にwriteをいれるだけと教わりました。
わけわかめ
555 :
551 :2006/01/11(水) 00:44:19
>>553 有難うございます
でも、意味が理解できないのですが…
556 :
521 :2006/01/11(水) 00:45:13
>>550 ポートスキャンは犯罪ではないですよ?
ちゃんとしたセキュリティの授業も兼ねてるんですよ。
御願いします。提出が迫ってますのでm(__)m
>>556 だれも犯罪とは言っていない
すべきかどうかを話している
ポートスキャンしないと空きポートがわからないとか言っている
ネットワーク管理者がいたら首にしていいよ
558 :
544 :2006/01/11(水) 00:52:34
補足 >あとは4種類のクライアントをいろいろ起動して遊ぶ。 GroupClient クラスのほかに、 GroupClientToLeave, GroupClientToWrite, GroupClientToRead クラスを作って、 それぞれに public static void main(String[]) メソッドを定義する。 サーバを立ち上げたら、 これらの4つのクラスを(必要に応じて引数をつけて)起動することを繰り返すって意味。 なぜか改行が一杯はいっちゃった(これが言いたかった
544 じゃなくて 554 だった orz
>>555 >そのprint()関数は一体何処で定義されていますか?
Java の標準ライブラリ(という名称でいいのか?)に含まれている
java.io.PrintStream クラスにおいて print() メソッド群が定義されている。
「定義」という言葉の使い方が、
宣言を意味しているのか実装を意味しているのか曖昧だが、
どちらにせよ、PrintStream クラスにて記述されている。
具体的に内容を見たいなら、JDKについてくる src.zip の中身を見てみればよい。
ここでのポイントはおそらく、
>分かりやすく説明しなさい。
だな。これ以上どうやって分かりやすくすればいいのだ orz
そういった意味では、俺も問題の意味がわからん
>>555 PrintStreamっていうクラスでprintメソッドが定義されてて、
Systemクラスはoutって名前のPrintStreamクラスのオブジェクトを持ってる
>>521 まずはこんな感じだろ
あとは自分でやれ
import java.net.*;
public class PortScan {
public static void main(String[] args) {
if (args.length != 2) usage(); String ip = args[0]; int p = 0;
try { p = Integer.parseInt(args[1]); } catch (Exception ex) { usage(); }
try { Socket s = new Socket(ip, p); System.out.println("Port " + p +" is usable."); s.close(); }
catch (UnknownHostException ex) { usage(); }
catch (ConnectException ex) {}
catch (Exception ex) { ex.printStackTrace(); usage(); }
}
public static void usage() { System.err.println("PortScan <host> <port>"); System.exit(1); }
}
565 :
548 :2006/01/11(水) 02:09:09
>>562 ありがとうございます。
ですが、MIDIファイルを再生しようとすると以下のメッセージが出て音が出ません。何故でしょうか・・・・
javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available
at com.sun.media.sound.AbstractMidiDevice.createTransmitter(AbstractMidi
Device.java:444)
at com.sun.media.sound.AbstractMidiDevice.getTransmitter(AbstractMidiDev
ice.java:299)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:451)
at javax.sound.midi.MidiSystem.getSequencer(MidiSystem.java:348)
at MidiPlayer.play(MidiPlayer.java:29)
at MyFrame.run(MyFrame.java:109)
at java.lang.Thread.run(Thread.java:595)
Exception in thread "Thread-3" java.lang.NullPointerException
at MidiPlayer.getMicrosecondLength(MidiPlayer.java:23)
at MyFrame.run(MyFrame.java:117)
at java.lang.Thread.run(Thread.java:595)
>>565 Ver1.5で試してみて
1.5でそれだったら、申し訳ないけど分からない
567 :
538 :2006/01/11(水) 05:05:41
>>545 ありがとうございます。自分もがんばってみます
568 :
デフォルトの名無しさん :2006/01/11(水) 08:09:31
569 :
568 :2006/01/11(水) 10:06:37
現在自分でも試行中ですが本当に切羽詰まっている為 やって下さる方はメールお願いします。 謝礼として少ないですがウェブマネー2000円分を差し上げます。
やったよ
>>569 謝礼云々って、、、しかも2000円かよw
572 :
568 :2006/01/11(水) 13:40:01
>>570 えと、出来たのであればがメールくれませんか?
>>571 すいません、本当に切羽詰まってるんでorz
モノで釣るって感じで大変申し訳ないです。
573 :
548 :2006/01/11(水) 15:16:11
>>566 学校のPCではちゃんと再生されました。ありがとうございました。
【 課題 】自動販売機を作りなさい。 【 用語 】レポートはすべて英語で表示しないといけませんが日本語でも構いません 【 期限 】1/27 【 Ver 】特になし 【 補足 】丸投げです。英語の授業で出た宿題でよく意味が分からなかったのですが どうも自動販売機をプログラミングで作れ。といってるみたいです。 たとえば実行結果で お金をいれてください。 50円が入りました。 合計50円です。 100円が入りました。 合計120円です。 ENTERを押しました。 商品を選んでください(コーラ120円、お茶100円) コーラを押しました。 コーラと10円玉3枚出てきました。 ありがとうございました。 こんな感じで作ってくれればいいと思います。 謝礼として上の方と同じく銀行振り込みで千円ほど( 口座を教えれない場合はウェブマネー)差し上げます。 できればメール欄にアドレスを入れてるのでこちらにメール くれれば幸いです。
コインメックとのインターフェースは?
577 :
デフォルトの名無しさん :2006/01/12(木) 10:39:21
何か簡単なゲームのソースはありませんか?
578 :
デフォルトの名無しさん :2006/01/12(木) 11:20:26
>>578 パックマンをネット対応にする意味がよくわかりません
おれ、オバケ1やりたい!! という人が出てくるんじゃ?w
581 :
578 :2006/01/12(木) 11:32:22
>>579 そうゆう宿題がでちゃったんですよ。
あくまでもパックマンではないのですが似たようなものをネット対応で動かすように作ってこいということなんです。
>536さん 書き込みが遅くなってしまって申し訳ありません。 無事動きました。ありがとうございました。 また、何かありましたら宜しくお願いします。
【 課題 】 身長(m)と体重(kg)を入力しBMI値と判定結果を表示する。 身長がマイナスの値なら、処理を中止し、 プラスなら処理を繰り返すプログラムを作成しなさい。 BMI値 判定 17.5未満 やせ 17.5以上24未満 普通 24以上30未満 肥満 30以上 高度肥満 【 Ver 】特になし 【 補足 】途中まで作ってみたのですが、 計算をすると、なぜかやせ型とでてきます。 下に途中までのをのせておきますので、 宜しくお願いします。
>583の補足の続き1 import java.io.*; public class Sample10{ public static void main(String args[]) throws IOException { double height, weight, bmi; boolean flag = true; do{ BufferedReader d = new BufferedReader(new InputStreamReader(System.in)); System.out.println("身長を入力してください>"); height = Double.parseDouble(d.readLine()); if(height < 0){ System.out.print("身長が不正の値のため、判断できません。"); flag = false; } else{ System.out.println("体重を入力してください>"); weight = Double.parseDouble(d.readLine()); bmi = weight/(height*height); }
>584の続き }while(flag); if((bmi > 17.5)){ System.out.println("あなたのBMIは," + bmi + "です。やせ型ですねw"); } else if((bmi <17.5) && (bmi > 24)){ System.out.println("あなたのBMIは," + bmi + "です。標準体型ですね。"); } else if((bmi <24) && (bmi > 30)){ System.out.println("あなたのBMIは," + bmi + "です。肥満型ですね。"); } else{ System.out.println("あなたのBMIは," + bmi + "です。高度肥満ですね。"); } } } 宜しくお願いします。
身長をcmで入力したんじゃないの?w
3m以上の身長入力したら、「そういう人はいません」というコメント発するようにしたら?
>586さん、587さん いえ、身長はメートルで入れています。 どんな値を入れても、BMIは○○です。やせ型ですねwってでてくるんです。 うまく機能していないので、どこかおかしいところがあるのかなぁと、 思って質問してみました。
bmi算出式?はわからんが、 if文の前に無条件にbmiをprintしてみればどこが悪いかわかるでしょ。
>>583 if (bmi < 17.5) {...}
else if (bmi < 24) {...}
else if (bmi < 30) {...}
else {...}
>>586-589 ネタだよな?
591 :
デフォルトの名無しさん :2006/01/12(木) 16:47:42
ワロタwww いきなり判定式で17.5より大きい人判定すんなよw
594 :
デフォルトの名無しさん :2006/01/13(金) 12:37:47
Javaスレで質問したんですけど宿題スレに池といわれた のでこちらで質問させていただきます。 学校の課題でタイピングを製作することとなり私の仕事 として入力部分で画面に表示されている、したらその文字を変換する処理を任せられ たのですが、どうもいまいち入力文字との比較処理 等が分からず、一回プロトタイプとして作ってみたい とは思っているのですが・・・
595 :
デフォルトの名無しさん :2006/01/13(金) 15:44:49
596 :
595 :2006/01/13(金) 16:08:39
実行にはjavaアプレットで実行したいです。
597 :
595 :2006/01/13(金) 16:28:03
課題内容を補足すると・・・ 渦運動を視覚的に表示する機能はいらないので(あればより良いのですが)このソースを利用して渦運動の様子を数値的に出すようにしたいです。 渦群(N個)の数値を入力してそのときの運動を数値的に出力する課題です。
598 :
デフォルトの名無しさん :2006/01/13(金) 18:02:38
599 :
デフォルトの名無しさん :2006/01/13(金) 18:03:42
最近回答率が悪くて申し訳ない。 去年はほとんど回答が返ってきたのだけど。。。
600 :
デフォルトの名無しさん :2006/01/13(金) 18:50:23
【 課題 】 引数として与えられたdouble型の配列の中からk番目に小さい値を見つけ出す serchメソッドを作成したい。以下の仕様を満たすこと。 ・serchメソッドはDoubleSerchクラス内のstaticメソッドとして定義する。 ・serchメソッドの引数はdouble型配列dataとint型k ・返す値が存在しない場合はDouble.NaNを返す ・配列中のデータの順番は変更しても構わない ・計算量はO(logN) またアルゴリズムについての説明と計算量がO(logN)であることも示す。
603 :
600 :2006/01/13(金) 20:40:13
>>602 ありがとうございます。serchはタイプミスです申し訳ありません。
私もその方法で一度提出しましたが配列を先にソートした場合ソートの計算量も
メソッドに含まれるため仕様を満たせないといわれました。
その後、二分探索木を使おうと考えましたがそれも計算量がO(N logN)となり駄目でした。
>>603 >私もその方法で一度提出しましたが配列を先にソートした場合ソートの計算量も
>メソッドに含まれるため仕様を満たせないといわれました。
先にそれを言ってくれorz
605 :
デフォルトの名無しさん :2006/01/13(金) 23:38:46
606 :
デフォルトの名無しさん :2006/01/14(土) 00:39:12
こんな勉強やっててどんな職業につくの? 収入よいの?
>>607 殺人的な残業と低賃金のPG&SE業がアナタを手ぐすね引いて待っている
610 :
600 :2006/01/14(土) 10:24:14
>>608 詳しく教えてもらえませんか?
ヒープは未習なので調べてみましたがNlogNになってしまうような気がしました。
なんで配列なん?
>>603 はて?二分探索法の計算量はO(log2n)だけど?
二分探索法と二分探索木は違う訳だが
配列の中身の順序はばらばらなのだろうか。 中身が分からなければ k 番目なんて分からないだろうに、 中身をチェックするだけで O(N) になってしまわない? とんちかなにかかな
っつーかばらばらじゃないとしたら既に並んでるって事だろ その場合k番目はO(1)で分かってしまう
何卒お願いします。
>>600 O(logN)って異様に計算量が少ないけど、この部分ほんとにあってるのか?
できたよ
できたのなら教えてくれ寝れなくなるから
621 :
600 :2006/01/14(土) 19:33:16
>>614 >中身をチェックするだけで O(N) になってしまわない?
私もそう思います。
>>615 配列の中身はランダムです。
>>618 あっています。
>>619 是非アルゴリズムだけでもいいので教えてください。
622 :
デフォルトの名無しさん :2006/01/14(土) 19:38:36
【 課題 】 証券会社の管理システム 【 期限 】06/01/20 【 Ver 】j2sdk1.5 【 補足 】 顧客からユーザーID、パスワード、取引形態、金額を入力してもらい処理を行なう。 顧客が行なえる操作は買い、売り、余力確認の3つ。 毎回取引時にユーザーID、パスワード、余力情報をファイルに吐き出し保存。また次回起動時にファイルを読み込み対応したID、パスの余力情報を表示 さらに今までの取引履歴を毎回ファイルとして出力する。 なお初回時の余力は100万とする。 例えば 余力100万→買い30万→余力70万→売り25万→余力95万のような感じです。 ↑ ↑ 初期値 ユーザ入力 例外として余力マイナスは認められないのでエラーメッセージ表示。 そのほかおかしな値を入力されたものも全てエラー表示でお願いします。 ファイル入出力のへんが全くわからないのでどなたか教えてください。
623 :
622 :2006/01/14(土) 19:41:47
あとID、パスが異なる場合もエラー通知をお願いします
【 課題 】引数として未ソートdouble型の配列(array)と int型の値(k)が与えられたとき、 配列arrayの中でk番目に小さい値を返すメソッドを作成せよ。 ・k番目に小さい値が存在しない場合はDouble.NaNを返す。 ・配列中のデータの順番は変更してもよい。 ・このメソッドの計算量はO(logN)とし、(Nは配列の長さ) 計算量がO(logN)であることを示せ。 ・配列を先にソートした場合、ソートの計算量もメソッドに含まれるので、仕様を満たせない。 【 用語 】Double.NaN : double型の非数 【 期限 】提出期限 : 1/17 【 Ver 】なし 【 補足 】バイナリツリーに配列中の要素を順番に放り込んで、 間順走査して目的の値を見つけようと考えましたが、 これでは計算量がオーバーしているようです。 何か良い方法があればいいんですけれど…
627 :
624 :2006/01/14(土) 22:10:27
>>600 世間は広いようで狭い、とはこのことですか…
僅か数レス先も調べられないとは…
スレ汚しすまん
やはりうまく行きそうなアルゴリズムは思いつきませんね
つか、アルゴリズムとかなら数学スレ(板?)の方がいんじゃね? ここJavaスレだし。
大きさ N のヒープ構造にデータを追加する、あるいは最小のデータを取り出す作業には、log(N) の時間を要します。 K番目に小さいデータを取り出す作業には,log(N) + log(N-1) + … + log(N - K + 1)の時間を要します。 log(N) + log(N-1) + … + log(N - K + 1) ≦ K * log(N) Kは定数なのでオーダーはO(log(N))ということになります。
>>629 ヒープに追加する計算量がメソッドに含まれるので仕様を満たせない
ていうかここに出てる計算量以下でやることできるのか
>>600 回答が出たらスレにフィードバックしてくれよ
>622-623 確認です。 GUIじゃなくてコンソールアプリでいいですか? ユーザIDとパスワードの管理のしかたについての仕様の指示はありますか? (ファイルで管理する、ソース直書きでいい、とか) 買いのときは余力を引き算して、売りのときは余力を足し算すればいいんですか?
633 :
622 :2006/01/15(日) 02:13:11
GUIじゃなくてコマンドプロンプトで起動させるやつでOKです! IDとパスの管理はファイルでお願いします! 買いのときは余力を引き算して、売りのときは余力を足し算でOKです! どうかよろしくお願いします。
634 :
デフォルトの名無しさん :2006/01/15(日) 03:09:06
>>630 追加の作業がo(LogN)で、取り出す作業もo(LogN)なら、
Oはo*2にしてしまえば良いではないか
あれ、ちがう?
あ、ソートには追加の作業を繰り返さなきゃいけないから、だめだな。 失敬した
636 :
ラムネ :2006/01/15(日) 11:19:32
【 課題 】 要素数が6つの配列を用意し、それぞれに任意の整数を 入力する。その中の最小値、最大値を探索し表示する。 【 用語 】 【 期限 】提出期限 : 1/17 【 Ver 】なし 【 補足 】擬似言語 最大値6つの配列定義 最大値←Integer.MIN_VALE 最小値←Integer.MAX_VALE ■i=0;i<要素数;I++ 配列[i]←入力された値 ■ ■i=0;i<要素数;I++ △配列[i]>最大値 ・最大値←配列[i] △ △配列[i]<最小値 ・最小値←配列[i] △ ■ ・最大値と最小値の表示 JAVAの書き方があんまりわからなくて・・よろしくお願いします。
>636 任意の整数の入力方法はなんですか? コマンドライン引数?System.inでその都度入力させる?
>636 System.inでその都度入力ならこれね。 import java.io.*; public class T54_636 { public static void main(String[] args) throws IOException { BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); int[] element = new int[6]; int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for(int i = 0; i < 6; i++){ System.out.print("数値を入力してください:"); element[i] = Integer.parseInt(buf.readLine()); } for(int i = 0; i < 6; i++){ if(element[i] > max) max = element[i]; if(element[i] < min) min = element[i]; } System.out.println("最大値は" + max); System.out.println("最小値は" + min); } }
640 :
ラムネ :2006/01/15(日) 13:18:43
ありがとうございます。 返事遅れてすいません・・・ 指定がないので、どちらでもいいとおもいます。
641 :
ラムネ :2006/01/15(日) 13:25:38
あと2問ほどあるんですがいいですか?
642 :
255 :2006/01/15(日) 14:19:12
宿題ではないのですが、JAVA相談スレでこちらを指定されたので、すみません。。 質問です!! 現在JAVAで、4つの数字を四則演算を使い10にするゲームを作っています。 4つの数字をランダムメソッドで生成して、その4つの数字が10になるかを確かめて、10になる数字であれば、rabelに貼り付け、四則演算+−×÷記号はチョイスで選択する形にしました。 しかし、イベント処理で答え合わせの際、チョイスで選んだ四則演算が、答え合わせの式に使えません;_; この問題で行き詰っています。 どなたか、良いアイディアをいただけないでしょうか?? また、参考になるプログラム等ありましたら、教えてください!! ご教授お願い致します。
643 :
632 :2006/01/15(日) 14:20:03
>>642 ×rabel
○label
英語の勉強もしましょう。
【 課題 】 サイズが横ドット250、縦ドット100であり、タイトルが「アダプタークラスの利用例」のフレームを 表示するプログラムProblemAdapter.javaを作成せよ。 ただし、マウスがフレームの内側に入るとフレームタイトルを「マウスがフレーム内に入りました」と変更すること。 また、フレームの右上のクローズボタン”×”でプログラムを終了すること。 【 期限 】1月16日 【 Ver 】無いです 【 補足 】 簡単な課題だそうですが作成できませんでした…。[;´д`] どなたか宜しくお願いします。
>>645 「フレーム」がJFrame なら、これで。
import java.awt.event.*;
import javax.swing.JFrame;
public class ProblemAdapter {
private static JFrame frame;
public static void main(String[] args) {
frame = new JFrame();
frame.setTitle("アダプタークラスの利用例");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(250, 100);
frame.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setTitle("マウスがフレーム内に入りました");
}
});
frame.setVisible(true);
}
}
>>645 「フレーム」が Frame なら、これで。
import java.awt.Frame;
import java.awt.event.*;
public class ProblemAdapter {
private static Frame frame;
public static void main(String[] args) {
frame = new Frame();
frame.setSize(250, 100);
frame.setTitle("アダプタークラスの利用例");
frame.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
frame.setTitle("マウスがフレーム内に入りました");
}
});
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setVisible(true);
}
}
>>646 即レス感謝です!
テキストと照らし合わせて勉強してみます
ありがとう
>>642 行き詰まってるというんなら途中まで自分で作ってんだろ?
だったらそのソースを貼れ。
650 :
ラムネ :2006/01/15(日) 16:33:08
課題 】 6つの任意の配列を用意する。(入力によって) それを、昇順、降順にならびかえて、それぞれ出力する。 【 期限 】1月17日 【 Ver 】特になし 【 補足 】 なし System.inでOKです。
>>650 配列を6つ用意するのか要素数が6の配列を用意するのか
652 :
デフォルトの名無しさん :2006/01/15(日) 22:08:42
え・・ランダムなのに誕生日要求するのか?
>652 エラー処理は手抜きなので適宜修正ること。 import java.util.*; import java.text.*; import java.io.*; public class Saitama { private static final String results[] = new String[]{ "大凶", "凶", "吉", "中吉", "大吉" }; public static void main( final String args[] ) throws Exception { System.out.println( "誕生年月日いれろやゴルァ " ); final String birthday = new BufferedReader( new InputStreamReader( System.in )).readLine( ); final Date d = DateFormat.getDateInstance( ).parse( birthday ); final Calendar cal = Calendar.getInstance( ); cal.setTime( d ); final Random randomizer = new Random( cal.get( Calendar.SECOND )); System.out.print( "てめぇの運勢は" ); System.out.print( results[ randomizer.nextInt( results.length )]); System.out.println( "だ" ); } }
656 :
622 :2006/01/16(月) 02:24:49
>>643 回答ありがとうございます!!
こんなに短期間でやってもらって本当に助かります。本当にありがとう!
取引履歴をファイル出力するというところについてですが、643氏に書いてもらったソースを参考に自分でも頑張ってみたいと思います!
俺の宿題なのに643氏の貴重な時間を割いてもらって大変申し訳ない&本当に助かりました
ありがとう
>>655 // GreetingServlet.java
package net.2ch.pc8.665;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GreetingServlet extends HttpServlet {
public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("Shift_JIS");
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>こんにちは!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>ようこそ<h1>");
out.println("こんにちは「" + request.getParameter("name") + "」さん");
out.println("<a href=\"/www/greeting.html\">戻る</a>");
out.println("</body>");
out.println("</html>");
out.close();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
>>655 (
>>675 のつづき)
<!-- greeting.html -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>入力画面</title>
</head>
<body>
<h1>入力のページ</h1>
名前を入力して「送信」ボタンを押してください
<form action="/www/GreetingServlet" method="post">
<input type="text" name="name" />
<input type="submit" value="送信">
</form>
</body>
</html>
>>655 (
>>657-658 のつづき)
<!-- web.xml -->
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"
http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app>
<servlet>
<servlet-name>GreetingServlet</servlet-name>
<servlet-class>net.2ch.pc8.665.GreetingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>/GreetingServlet</url-pattern>
</servlet-mapping>
</web-app>
パッケージ名のところで655と665を間違えたw
htmlを見ればわかるけど配備先はwwwにしてあるので適当に直してくれ。
660 :
デフォルトの名無しさん :2006/01/16(月) 10:36:26
>>653 なんか入力するようにしろといわれたんで…別に誕生日でなくてもいいんですけども
>>654 ありがとうございます!
661 :
デフォルトの名無しさん :2006/01/16(月) 13:29:34
問45:Stringオブジェクトstr1とstr2の文字列を比較する場合、正しいものはどれか。 a. str1 == str2 b. str1.equals(str2) c. str1 = str2 d. equals(str1, str2)
662 :
デフォルトの名無しさん :2006/01/16(月) 15:32:32
"ActionEvent e"と"ActionEvent ae" この違いがよくわかりません そもそもeとはなんなんでしょうか?
>>662 そのeとかaeってのはただの変数名だよ
int a;
int ae;
とかと同じ。別になんでもいい。
てか、スレ違い
664 :
ラムネ :2006/01/16(月) 17:45:04
課題 】 6つの任意の配列を用意する。(入力によって) それを、昇順、降順にならびかえて、それぞれ出力する。 【 期限 】1月17日 【 Ver 】特になし 【 補足 】 なし System.inでOKです。 返事おくれました、すいません 要素数が6の配列でおねがいします。
665 :
デフォルトの名無しさん :2006/01/16(月) 17:59:40
課題 】 2次元配列を用意する。(初期化) 国語 数学 歴史 英語 瀬戸先生 86 76 81 98 小川先生 96 87 100 83 桂田先生 83 99 92 77 3人の先生の合計点と平均点を求め、両方を表示する。(平均点は浮動小数点形式) (ヒント 合計点と平均点を格納する配列がそれぞれ必要である) 【 期限 】1月17日 【 Ver 】特になし 【 補足 】 よろしくお願いします。
>>664 import java.io.*;
class J2ch02{
public static void main(String arg[])throws IOException{
int num1[],num2[];
num1 = new int[6];num2 = new int[6];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("6つの数値入力");
for(int i=0;i<6;i++){
String str = br.readLine();
num1[i] = Integer.parseInt(str);num2[i] = Integer.parseInt(str);
}
for(int i=0;i<5;i++)
for(int j=0;j<5-i;j++){
if(num1[j]>num1[j+1]){
int a = num1[j];
num1[j] = num1[j+1];
num1[j+1] = a;
}
if(num2[j]<num2[j+1]){
int a = num2[j];
num2[j] = num2[j+1];
num2[j+1] = a;
}
}
System.out.println("昇順");
for(int i=0;i<6;i++)System.out.print(num1[i]+" ");
System.out.println("\n降順");
for(int i=0;i<6;i++)System.out.print(num2[i]+" ");
}
}
667 :
デフォルトの名無しさん :2006/01/16(月) 18:11:05
>>664 こんなんでいいか?
import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
// 昇順
for(int i=0; i<sort.length; i++){
for(int j=i+1; j<sort.length; j++){
if(sort[i]>sort[j]){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
}
}
for(int i=0; i<sort.length; i++){
System.out.print(sort[i]+", ");
}
System.out.println();
668 :
デフォルトの名無しさん :2006/01/16(月) 18:14:29
>>664 こんなんでいいか?(改行多いとか言われたから中括弧まとめた)
import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
// 昇順
for(int i=0; i<sort.length; i++){
for(int j=i+1; j<sort.length; j++){
if(sort[i]>sort[j]){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}}}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}
System.out.println();
// 降順
for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){
int change = sort[i];
sort[i] = sort[j];
sort[j] = change;
}
for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", ");
}}}
669 :
デフォルトの名無しさん :2006/01/16(月) 18:16:50
// 降順 for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){ int change = sort[i]; sort[i] = sort[j]; sort[j] = change; } for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", "); } } }
>>665 class example{
public static void main(String args[]){
int score[][] = {{86,76,81,98},{96,87,100,83},{83,99,92,77}};
int kei[] = {0,0,0};
double heikin[] = {0.0,0.0,0.0};
for(int i=0;i<3;i++){
for(int j=0;j<4;j++)
kei[i] += score[i][j];
heikin[i] = (double)kei[i]/4.0;
}
for(int i=0;i<3;i++)
System.out.println(kei[i]+" "+heikin[i]);
}
}
671 :
デフォルトの名無しさん :2006/01/16(月) 18:18:41
672 :
デフォルトの名無しさん :2006/01/16(月) 18:39:13
>>665 class Two_ch {
public static void main(String args[]) {
int score[][] = { { 86, 76, 81, 98 },
{ 96, 87, 100, 83 },
{ 83, 99, 92, 77 } };
int sum[] = new int[3];
double ave[] = new double[3];
for (int i=0; i<score.length; i++) {
for (int j=0; j<score[i].length; j++){
sum[i] += score[i][j];
}
ave[i] = sum[i]/4.0;
}
for (int i = 0; i < 3; i++){
switch(i){
case 0:
System.out.print("瀬戸先生 ");
break;
case 1:
System.out.print("小川先生 ");
break;
case 2:
System.out.print("桂田先生 ");
break;
default:
}
System.out.println("合計:"+sum[i] + "点 / 平均:" + ave[i]+"点");
}
}
}
673 :
デフォルトの名無しさん :2006/01/16(月) 20:19:42
668 さん ありがとうございます〜。
674 :
デフォルトの名無しさん :2006/01/16(月) 20:42:01
672 ありがとうございます^^。
675 :
デフォルトの名無しさん :2006/01/16(月) 20:56:38
【 課題 】逆ポーランド記法で表現された数式を計算するプログラムを作成したい。 数式の処理にはスタックを使用し、スタックの実装は連結リストを使う。 使う演算子は + - * / の4つとする。 数値、演算子は空白で区切られているものとする。 プロンプトを表示しキーの入力を受け付け、1つの数式を1行で入力する。 数式が間違っている時はエラーを表示し、計算途中の結果を破棄した上でプロンプトを表示してキー入力状態に戻す。 プロンプトで”exit”と入力したらプログラムを終了する。 【 期限 】1/19 【 Ver 】特になし 【 補足 】実行例は下記のような感じだそうです。 入力:22 3 * 8 3 + / 3.2 + 計算結果:9.2 入力:5 / 7 数値が足りません。再入力してください。 入力:10 b + 間違ったデータが入力されました。再入力してください。 入力:4 12 ++ 間違ったデータが入力されました。再入力してください。 入力:exit どなたか宜しくお願いします。
676 :
662 :2006/01/16(月) 21:01:20
677 :
655 :2006/01/16(月) 21:35:19
679 :
632 :2006/01/16(月) 23:12:34
>622 やってなかった >さらに今までの取引履歴を毎回ファイルとして出力する。 をやって、wikiのページを更新しました。
680 :
675 :2006/01/16(月) 23:29:43
>>678 感謝します。助かりました。
本当に有難う御座いました。
【 課題 】簡単なBlackJackアプレット作成 【 用語 】BlackJackはトランプのやつです。 【 期限 】18、19までにお願いします。 【 補足 】2人対戦でお願いします。 カードのイラストは無しでも有りでもかまいません。 どの柄のいくつの数字か分かれば結構です。
683 :
682 :2006/01/17(火) 00:51:41
アドレスだけ書いちゃった。 681のブラックジャックのソースの載ってるページです
この規模のプログラム丸投げで書けって依頼も酷くないか・・
まあ丸投げが基本ルールだし それ以前にブラックジャックとかなら 検索すれば引っかかりそうなものだが
お願いします。 【課題】 ユニフィケーション(単一化)アルゴリズムを実装し, 本例を参考にして独自の簡単な問合せシステムを実現せよ. 例えば,知識として,次のような述語が与えられたとする. is(dog, mammal), is(cat, mammal), is(mouse, mammal), is(lizard, reptilian), is(snake, reptilian) is(bird, mammal), is(chicken, bird) , is(X,Y) AND is(Y,Z) が与えられたとする. このとき,次の問合せ is(dog, mammal) には true を返し, is(lizard, mammal) には false を返す. 問合せ is(chicken, bird) と is(chicken, mammal) に対しては, 共に true を返す.また,問合せ is(X, mammal) (Xは変数)に対して, dog, cat mouse を列挙する. さらに,問合せ is(mammal, X) により種類を答える. 例えば,問合せ is(dog, X) に対して,mammal と返す. 十分な知識が事前に与えられていない場合、知識の追加・削除をする機能を実装せよ。 以上の機能を満たすアプレットとアプリケーションを実装せよ. 【ver.】1.4.2 【期限】1月18日 【補足】丸投げですがよろしくお願いします。
意味不明
>>681 悪いことは言わない
遊んでないで授業ページを理解することを進めるベキだ
>>686 > また,問合せ is(X, mammal) (Xは変数)に対して,dog, cat mouse を列挙する.
ん? birdは含めないのか?
>>686 あと
> is(X,Y) AND is(Y,Z)
って is(X,Y) AND is(Y,X) の間違いじゃないのか。
693 :
デフォルトの名無しさん :2006/01/17(火) 12:48:47
>>654 コンパイルしてエラーはなかったんですが、なぜか読み込んでくれません。。。
Warning: Temporarily overwriting system property at user's request: key: http.proxyPort old value: 80 new value: 8080
Warning: Temporarily overwriting system property at user's request: key: http.proxyHost old value: new value: pine
java.lang.ClassCastException
at sun.applet.AppletPanel.createApplet(AppletPanel.java:619)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:548)
at sun.applet.AppletPanel.run(AppletPanel.java:299)
at java.lang.Thread.run(Thread.java:552)
とかでてきます
694 :
デフォルトの名無しさん :2006/01/17(火) 12:59:14
import の部分はあれでいいんでしょうか?
695 :
デフォルトの名無しさん :2006/01/17(火) 13:26:17
【 課題 】 任意の文字列を読み込んで、中央の文字を堺に、その前後を入れ替えるプログラムを作成せよ。 文字列の最大長さは255文字とせよ。もし、文字列の長さが奇数の場合は、中央の文字は、移動させずにそのままとすること。 入力した文字の長さが、最初に偶数か奇数か判断すると良い。 【 期限 】1月23日(月) 【 Ver 】windouws xp 【 補足 】途中まであります。 #include 〈stdio.h ) main() { int i,j,k,1; char ins[256],outs[256]; printf(“input string:“) ; scanf(“%s”,ins) ; 1=strlen(ins) ; 丸投げすみません! お願いします。
>>695 スレ違いと思われ
ここはJava宿スレだよ
699 :
デフォルトの名無しさん :2006/01/17(火) 15:21:54
>>695 よし、これを先生に出して来い。
import java.io.*;
public class TwoCh_695 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
while (true) {
System.out.print("文字列入力:");
StringBuffer sb = new StringBuffer(buf.readLine());
// 空ENTERで終了
if(sb.equals("")){
System.out.print("処理終了");
break;
}
// 文字列長255以上で戻る
if (sb.length() > 255) {
System.out.println("文字列が長すぎます");
continue;
}
// 前後交換
for(int i=0,j=sb.length()-1; i<sb.length()/2; i++,j--) {
sb.insert(j,sb.charAt(i));
sb.delete(i,i+1);
sb.insert(i,sb.charAt(j));
sb.delete(j+1,j+2);
}
System.out.println(sb);
}
}
}
なんつーか、char[] にして入れ換えた方が楽なのでは? ついでに言えば、奇数か偶数かなどということは、調べる必要なし。 こういうメソッド作ればよい。 static public String rev(String s) { char[] cs = s.toCharArray(); for (int i = 0, j = cs.length - 1; i < j; ++i, --j) { char tmp = cs[i]; cs[i] = cs[j]; cs[j] = tmp; } return new String(cs); }
701 :
695 :2006/01/17(火) 22:30:12
すみません!全く申し訳ないです! これじゃなかったんですか・・・。 あと、プログラムありがとうございます。 けど、あれ、多分難しいプログラムですよね?? 一番基本のプログラムしかやってないんで、本当に申し訳ないのですが 使えないのです・・・(>_<) 教えてもらったスレにもう一度書き込みます。 本当にありがとうございました!!
703 :
デフォルトの名無しさん :2006/01/18(水) 16:39:56
【 課題 】jpeg形式のカラー画像ファイルを読み込んで、 それを白黒2値画像に変換して表示するプログラムを作りなさい。 【 期限 】1月19日午後 どうかよろしくお願いします。
704 :
デフォルトの名無しさん :2006/01/18(水) 16:54:44
【 課題 】java appletでロボットの移動軌跡を表示せよ。入力されるファイルの形は move(x,y)で座標がtxt形式で与えられる。 (例)move(2,3) move(3,5) move(4,7) move(4,8) 【 期限 】特になし。
705 :
デフォルトの名無しさん :2006/01/18(水) 16:57:34
【 課題 】逆ポーランド記法で表現された数式を計算するプログラムを制作したい。以下の使用を満たすプログラムを作成しよ。 ・mainメソッドを制作するクラス名はReport3Cとする ・数式の処理にはスタックを利用する ・数式を使える演算子は四足演算の4つの演算子(+ - * /)とする ・数値および演算子は空白で区切られているで区切られているものとする ・プロンプトを表示してキーの入力を受け付け1つの数式を1行で入力する ・数式に間違いがある場合にはエラーの表示し計算途中の結果を放棄した上でプロンプトを表示し キー入力状態に戻る ・プロンプトで"exit"と入力したらプログラムを終了する。"exit"の文字列の大文字・小文字は区別しない・大文字小文字を区別しないで一致してるかどうか比較するには equalsIgnoreCaseメソッドを使うとよい 【 期限 】今週の土曜日 丸なげです。お願いします。
【 課題 】透明の立方体を作成し、その立方体のなかに球をいれる、JAVA3Dプログラムを作成せよ。 マウスで視点移動可能を忘れずに。 【 期限 】1月20日 【 Ver 】JAVA3Dです。 【 補足 】丸なげです。おねがいします。
707 :
704 :2006/01/18(水) 21:46:49
自己解決しました もし今やってくださってる方いたらすみません
708 :
632 :2006/01/18(水) 22:51:19
>705 既出。
【 課題 】既存のアプレットに開始と停止ボタンを追加しなさい。 なお、停止とは一時停止の事であり、停止を押した後に開始を 押した場合、停止を押したところからはじまるようにしなさい 【 期限 】1月20日 【 Ver 】JAVA3Dです。 【 補足 】丸なげです。おねがいします
>>710 既存のアプレットとやらがないと何も出来ない
712 :
551 :2006/01/18(水) 23:36:43
非常に遅レスですが
>>560 さん、
>>561 さん有難うございました
同じ問題の事でしつこくすいませんが、一つ質問があります
「PrintStreamクラス」という名称を習っていないのですが
この言葉を使わずに説明することはできますか?
そして、もう一つお願いします
【 課題 】int a[]={4,10,6,10,7,22,10,8,13,21,12,10,16}という配列から、10だけを抜き取って
左に詰めて表示するプログラムを作成
【 期限 】明日昼
【 補足 】if continueを使います(a[i]!=10が真の時はcontinue)
実行すると
a[13]={4,10,6,10,7,22,10,8,13,21,12,10,16}
a[10]={4,6,8,7,22,8,13,21,12,16}
という風になる様です
>705 せめてレス読むぐらいの努力しやがれ
>711 すいません、初心者なので、ボタンをつけるだけならどんなアプレットにも後から ついかできるのかとおもってまいました。 やっぱり、アプレットがないとどにもならないんでしょうか? アプレット自体は、開いたらオブジェクトが動いてるいるという単純なものなのですが。
>>714 初心者なのに、見せてもいないものを単純と評価しますか。
自分でできそうじゃね?
>>715 そうですね。単にオブジェクトが動いて、最後までいったら止まるだけだったので、
簡単なのかと思いました。すいませんでした。
717 :
デフォルトの名無しさん :2006/01/19(木) 00:52:41
【質問】 「JFrame frm = new JFrame("Hello GUI World");」の「JFrame(" ")」は class JFrameの( A )となるfrmを生成する( B )である。 カッコの中に入る言葉を教えて下さい どうかよろしくお願いします。
A インスタンス B コンストラクタ
722 :
デフォルトの名無しさん :2006/01/19(木) 01:46:41
>>706 透明の立方体に玉を入れると言うのは、ただ球体を表示するのと
同じだと思うのですが・・・(立方体が見えないのだから)
内容をもう少し説明してくだされ
723 :
712 :2006/01/19(木) 01:59:21
>>721 回答有難うございます
習った範囲で、自分の言葉で表現しなさいと言われました
もう一つの方は、a[i]!=10と書いてありました
自作プリントなので、もしかしたら書き間違えかもしれません
答えを頂けて嬉しいのですが、まだ私にはレベルが高い様で、分からないところが…
ちなみに、
1
22
333
を表示しろ、位の内容をやっています
System.out.plintlnを習ったぐらいのレベルか?
>>724 ×plintln
○println
お前のレベルはよくわかったよ
>>723 いいことを教えよう
System.exit(0);
困った時の魔法の合言葉だ
授業中に友達のプログラムにこっそり System.exit(0); を書いたりした そいつは実行できないって言ってかなり悩んでた
public static void main(String arg[]) { System.exit(0);//ここに書くんだ!合言葉を!できれば他人の ・・・・・・・・・・・・ }
730 :
703 :2006/01/19(木) 05:50:38
自己解決いたしました。お手数をおかけしました。
>>703 誰もお手数おかけしてくれなかったわけで
732 :
703 :2006/01/19(木) 12:00:40
733 :
703 :2006/01/19(木) 12:03:46
×やれ ○くれ
>>722 説明が不十分ですいませんでした。半透明って事です。
軽く色のついた立方体です。お願いします。
735 :
デフォルトの名無しさん :2006/01/19(木) 16:59:04
烈しくスレ違いな気がするんですが phpのisset() に相当するような 変数や配列の要素の有無をbooleanで返してくれるような魔法はないでしょうか。
テクマクマヤコン
738 :
デフォルトの名無しさん :2006/01/19(木) 17:20:25
>>712 つか、その問題を
>>723 並の知識でやろうとしたらかなり面倒だった。
前提条件が少なすぎるし。
別に配列を作ってそこに格納する必要があるのか、int[]aの配列をいじってやる必要があるのかがまず不明。
if(a[i]!=10)の時にcontinueって事は、if(a[i]==10)の時にはその10を配列aから削ってやる必要があるのか?
しかしただ削るだけではその配列の要素数自体は縮まらない。
単にいくつ含まれているかをカウントして表示すれば良いだけなら、
処理が行なわれるごとにa.lengthから-1していけば良いのだろうが。
でも削った所に何を入れるかも問題だし。番兵として適当な数を入れるのか、違う方法を取るのか。
配列a自体から10を削り取るプログラムを組んで、一応完成はしているが、
簡単なプログラムのみ使おうとしたせいでやたらややこしいことになっているし。
a[10]={4,6,8,7,22,8,13,21,12,16} ←ってか、これも間違ってるだろ。
a[9]={4,6,7,22,8,13,21,12,16} こうだべ。
問題が間違ってるのか、君が写した内容が間違ってるのかは知らんが、
>>723 並の知識でこのプログラムは作れない。
ん、要素数じゃなかったっけ。
十個あるように見えるけど。
741 :
デフォルトの名無しさん :2006/01/19(木) 18:41:59
a[13]={4,10,6,10,7,22,10,8,13,21,12,10,16} a[10]={4,6,8,7,22,8,13,21,12,16} ↑ここの8はどこから沸いて出てきたんだ?って話だろ。
謎の8....コワス..
743 :
デフォルトの名無しさん :2006/01/19(木) 19:02:06
744 :
721 :2006/01/19(木) 21:32:06
745 :
デフォルトの名無しさん :2006/01/20(金) 12:07:01
【 課題 】適当な数字をいくつか入力すると、それらの標準偏差を 計算して表示するjavaプログラムを作成せよ データの個数に上限はないものとする 【 期限 】1月25日(水)まで 完全に迷子になってしまっています。 本当に丸投げで申し訳ありませんが、どうぞよろしくです。
746 :
デフォルトの名無しさん :2006/01/20(金) 12:58:19
【 課題 】1 本人確認をさせるプログラムを作る 名前をキーボードから入力する。プログラム内では、予め自分の名前を if文の中で照合するようにしておく。名前が一致すれば2に進む。 間違っていれば、再入力を要求させる。 2 本人ならば、誕生日のカレンダー(2005年)を出力させる。 【 期限 】今日の4時までです;; 【 補足 】カレンダー作成は出来たんですが、それまでの過程が出来ず 困っています。よろしくお願いします。
>>746 名前が一致したらループから抜け出す
import java.io.*;
class Sample{
public static void main(String srgs[])throws IOException{
String name="田中太郎";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.print("名前を入れて:");
if(name.equals(br.readLine()))break;
}
}
}
749 :
デフォルトの名無しさん :2006/01/20(金) 14:00:22
>>747 すいません、説明不足でした;;
java appletを使わないといけないんです;;
>>745 public class StandardDeviation {
public static void main(String[] args) {
double[] data = new double[args.length];
try {
System.out.print("Data:");
for (int i = 0; i < args.length; i++) {
data[i] = Double.parseDouble(args[i]);
System.out.print(" " + data[i]);
}
System.out.println("¥nSD: " + SD(data));
} catch (Exception ex) { usage(); }
}
public static double SD(double[] data) {
if (data == null) return 0.0;
int count = data.length; if (count == 0) return 0.0;
double x = 0.0, am = 0.0, sm = 0.0;
for (int i = 0; i < count; i++) {
x = data[i] - am;
am += x / (i + 1);
sm += i * x * x / (i + 1);
}
return Math.sqrt(sm / (count - 1));
}
static void usage() {System.err.println("Usage: StandardDeviation num ..."); System.exit(1);}
}
>>749 ボタン押したら判定
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample extends Applet implements ActionListener{
String name = "田中太郎";
Button botan = new Button("OK");
TextField text = new TextField();
public void init(){
setLayout(new GridLayout(5,1));
add(text);
add(botan);
botan.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(name.equals(text.getText()))
text.setText("一致");
else
text.setText("不一致");
}
}
752 :
デフォルトの名無しさん :2006/01/20(金) 14:46:12
import java.awt.Frame; import com.sun.j3d.utils.universe.*; import java.applet.Applet; import java.awt.BorderLayout; import java.awt.event.*; import com.sun.j3d.utils.applet.MainFrame; import java.io.*; import java.util.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.geometry.*; import javax.media.j3d.TransparencyAttributes; import javax.media.j3d.BranchGroup;
753 :
上の続き :2006/01/20(金) 14:48:48
public class Orb2 extends Applet { public Orb2() { Canvas3D canvas = new Canvas3D( null ); SimpleUniverse universe = new SimpleUniverse( canvas ); setLayout( new BorderLayout() ); add( universe.getCanvas(),"Center" ); BranchGroup root=new BranchGroup(); Background background = new Background( new Color3f( 0.4f, 0.6f, 0.8f ) ); BoundingSphere bounds = new BoundingSphere( new Point3d( 0.0,0.0,0.0 ),100.0 ); background.setApplicationBounds( bounds ); root.addChild( background ); DirectionalLight light = new DirectionalLight(); light.setDirection( new Vector3f( -0.3f, -0.5f, -1.0f ) ); light.setInfluencingBounds( bounds ); root.addChild( light ); Appearance appearance = new Appearance(); Material mt = new Material( new Color3f( 0.3f, 0.126f, 0.181f ), new Color3f( 0.3f, 0.126f, 0.181f ), new Color3f( 0.3f, 0.126f, 0.181f ), new Color3f( 0.3f, 0.126f, 0.181f ), 0.0f );
754 :
上の続き :2006/01/20(金) 14:49:20
appearance.setMaterial( mt ); Primitive primitive = new Sphere( 0.1f ); primitive.setAppearance( appearance ); root.addChild( primitive ); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph( root ); } public static void main( String[] args ) { new MainFrame( new Orb2(), 512, 512 ); } } この球のプログラムをマウスドラッグにより回転させる球 プログラムに変更せよ。 1月21日までにお願いします。
755 :
デフォルトの名無しさん :2006/01/20(金) 14:52:53
>>751 何度もすいません;;自分で作ったカレンダーとの組み合わせ方が
わからず詰まっています。
これがそのカレンダーです↓
import java.applet.Applet;
import java.awt.*;
public class Calender extends Applet
{
public void paint(Graphics g)
{
int x=50,y=50;
g.drawLine(45,45,185,45);
g.drawLine(45,65,185,65);
g.drawLine(45,85,185,85);
g.drawLine(45,105,185,105);
g.drawLine(45,125,185,125);
g.drawLine(45,145,185,145);
756 :
上の続き :2006/01/20(金) 14:54:48
g.drawLine(45,45,45,145); g.drawLine(185,45,185,145); g.drawString("21",70,120); g.setColor(Color.red); g.drawString("日",x,40); g.drawString("6",x,80); g.drawString("13",x,100); g.drawString("20",x,120); g.drawString("27",x,140); g.drawString("土",170,40); g.drawString("5",170,60); g.drawString("12",170,80); g.drawString("19",170,100); g.drawString("26",170,120); g.drawString("2005年11月",80,25); g.drawString("月",70,40); g.drawString("火",90,40); g.drawString("水",110,40); g.drawString("木",130,40); g.drawString("金",150,40);
757 :
上の続き :2006/01/20(金) 14:56:36
g.drawString("1",90,60); g.drawString("2",110,60); g.drawString("3",130,60); g.drawString("4",150,60); g.drawString("7",70,80); g.drawString("8",90,80); g.drawString("9",110,80); g.drawString("10",130,80); g.drawString("11",150,80); g.drawString("14",70,100); g.drawString("15",90,100); g.drawString("16",110,100); g.drawString("17",130,100); g.drawString("18",150,100); g.drawString("22",90,120); g.drawString("23",110,120); g.drawString("24",130,120); g.drawString("25",150,120); g.drawString("28",70,140); g.drawString("29",90,140); g.drawString("30",110,140); } }
すごいカレンダーだ。思わず涙した。
>>755 import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Sample extends Applet implements ActionListener{
String name = "田中太郎";
Button botan = new Button("OK");
TextField text = new TextField();
boolean ch=false;
public void init(){
setLayout(null);
add(text);text.setBounds(20,150,100,20);
add(botan);botan.setBounds(125,150,40,20);
botan.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(name.equals(text.getText()))
ch = true;
else{
text.setText("不一致");
ch =false;
}
repaint();
}
public void paint(Graphics g){
if(ch==true){ここにカレンダーつっこめ}
}
}
}
760 :
デフォルトの名無しさん :2006/01/20(金) 15:05:30
まだ初心者なんです・・・ ここやり方しか思い付きませんでした^^;
2年ぶりに泣いた
763 :
デフォルトの名無しさん :2006/01/20(金) 15:15:56
>>759 できました;;
時間が迫ってたので助かりました
ありがとうございました^^
>>754 最初に,
import com.sun.j3d.utils.behaviors.mouse.*; // 追加
後半部に,
appearance.setMaterial( mt );
Primitive primitive = new Sphere( 0.1f );
primitive.setAppearance( appearance );
// root.addChild( primitive ); 削除
TransformGroup tg = new TransformGroup(); // 追加
tg.addChild( primitive ); // 追加
root.addChild(tg); // 追加
// マウス操作部分
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); // 追加
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); // 追加
MouseRotate rotat = new MouseRotate(tg); // 追加
rotat.setSchedulingBounds(bounds); // 追加
tg.addChild(rotat); // 追加
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph( root );
765 :
初心者 :2006/01/21(土) 00:18:24
【 課題1 】番号,身長の組を多数入力し、身長の度数分布表を作って出力。分布は 10cmきざみのグループで数え、180以上,150未満はそれぞれ1グループに する。入力のストッパは番号が0とする。 (入力例) (出力例) 1001 167 ―149 0 1002 170 150―159 0 1003 164 160―169 2 1005 182 170―179 1 0 0 180― 1 【 課題2 】1山くずしゲーム,コンピュータ側が任意の自然数を乱数として 設定し(これを石の数とする),対局者とコンピュータとで交互に1個ないし2個 の石を取り続ける。最後の石を取った方が勝ち。このゲームでコンピュータ側が 最強になるようなアルゴリズムをつくれ。 なおコンピュータ側から "石の残り××個です。何個とりますか?" "石の残り××個です。私は×個とります" などのメッセージを表示しながら,決着がつくまで進めること。 問題は2つともPAD図で描き、さらにJavaに変換して実行させよ PADに関して:変数名にはできるだけそのデータの内容を表す日本語 を用いること。変数名とその説明を書き添えること。 Javaに関して:プログラムの先頭にコメントとして、PAD図の変数とプログラム 言語の変数の対応を記述すること。例えば /* ninzu--人数 total--合計 */のように。 【 期限 】1月27日 【 Ver 】1.4
766 :
初心者 :2006/01/21(土) 00:19:40
【 補足 】PADについて 参考:学生番号と点数の組を多数入力し(ストッパは学生番号=0),全体の 学生数と50点以上の点数を持つ学生数を出力する 変数リスト 総人数,合格数,番号,点数 総人数←0 合格数←0 | |―条件 50以上 ― 処理 合格数←合格数+1 入力 番号,点数 | | |―処理 総人数←総人数+1 前判定 番号≠0 ―| | |―入力 番号,点数 出力 総人数,合格数 (カウンタ型は i=1 to 10のように) PAD図についてはこんな感じでよろしくお願いします
課題2の方は最早Javaの問題がどうとかじゃなくて、 そのゲームの必ず勝てるやり方ってのを考えなきゃどうしようもないな。 っつか、取れる石の数が最大二個ってどうなのよ。普通三個じゃね? 自然数を乱数としてって言っても、最低でもいくつ以上ってのはあるだろうし。 1〜3個じゃ対決にもならん。
768 :
デフォルトの名無しさん :2006/01/21(土) 03:42:22
>>764 マウス回転できました。本当助かりました。ありがとうございます。
あとこの球をアプレット上の数字指定で、その数字だけ球が増える
ようにと言われました。座標はペイントで準備してあります。
こちらの課題1月22日までにお願いします。何度も申し訳ありません。
>>767 最大2個だから課題にできるわけよ。楽勝だから。
要は最終盤で3個残るように調整すればいいんだろ。
770 :
デフォルトの名無しさん :2006/01/21(土) 11:19:16
771 :
770 :2006/01/21(土) 21:35:01
772 :
デフォルトの名無しさん :2006/01/21(土) 23:39:07
【 課題 】 1.A店とB店のアイスの値段を比較して、以下のように表示する。 A店のアイスの値段=**** B店のアイスの値段=**** ○店の方が○店より○円安い。 2.while文を使って、以下の使用要求を実現せよ。 使用要求/キーボードから数人分成績を入力し、その内の最大値を表示する。 (ただし終了記号は666) 1人目のデータ=*** 2人目のデータ=*** データの入力数=*** 最大値= 3.配列を使って、以下の使用要求を実現せよ。 使用要求/キーボードから数人分成績を入力し、その内の最大値を表示する。 (ただし終了記号は-1) 4.配列を使って、以下の使用要求を実現せよ。 使用要求/キーボードから数人分成績を入力し、それを降順に並べ替えて画面に表示する。 (ただし終了記号は-1) 5.以下の使用要求を実現せよ。 使用要求/キーボードから名前と成績を入力して、その名前と成績を表示する。 ただし、成績表示の部分について以下のように次のメソッドを作成する。 public static void hyouji(String namae,int seiseki) 【 期限 】1/23 【 補足 】本当に簡単なプログラムだとは思うのですが、詰めが出来ず困っています。 丸投げ済みません。
>>772 配列適当な値でnewしていい?
てかそうしないと配列でそれを実現する方法が俺には思いつかない
774 :
デフォルトの名無しさん :2006/01/22(日) 02:35:12
それよりも、 java.util.ArrayListに値をaddしていき、 全部入ったらtoArray()で配列にしちゃえばよくないっすか?
ああ・・・そのclass知らないw
776 :
デフォルトの名無しさん :2006/01/22(日) 04:17:39
んじゃArrayListのサンプルっちゅーことで。 public static void main(String[] args) throws IOException { // TODO 自動生成されたメソッド・スタブ ArrayList list = new ArrayList(); String s = null; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (!(s = br.readLine()).equals("666")) list.add(s); String[] sa = (String[]) list.toArray(new String[list.size()]); for (int i = 0; i < sa.length; i++) System.out.println(i + 1 + "番目の入力:" + sa[i]); }
問題出したやつこないからやる気でねぇw てかもう酔っちゃったw
778 :
デフォルトの名無しさん :2006/01/22(日) 05:57:15
ありゃま。 んじゃーとりあえず772の課題1。 public class Shop implements Comparable { public Shop(String theName, int theIcePrice) { this.name = theName; this.icePrice = theIcePrice; } private String name; private int icePrice; public int getIcePrice() {return icePrice;} public void setIcePrice(int icePrice) {this.icePrice = icePrice;} public String getName() {return name;} public void setName(String name) {this.name = name;} public int compareTo(Object theShop) { Shop shop = (Shop) theShop; if (this.icePrice < shop.icePrice) return -1; else if (this.icePrice == shop.icePrice) return 0; else return 1; } }
779 :
デフォルトの名無しさん :2006/01/22(日) 05:58:17
772の課題1の続き import java.util.Arrays; public class Kadai772_1 { public static void main(String[] args) { Shop[] shops = new Shop[] { new Shop("A", 100), new Shop("B", 105) }; new Kadai772_1().printComp(shops); } private void printComp(Shop[] shops) { for (int i = 0; i < shops.length; i++) System.out.println(shops[i].getName() + "店のアイスの値段=" + shops[i].getIcePrice()); Arrays.sort(shops); Shop min = shops[0]; Shop max = shops[shops.length - 1]; System.out.println(min.getName() + "店の方が" + max.getName() + "店より" + (max.getIcePrice() - min.getIcePrice()) + "円安い。"); } }
780 :
デフォルトの名無しさん :2006/01/22(日) 06:38:28
772の課題2 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.TreeSet; public class Kadai772_2 { public static void main(String[] args) throws Exception { TreeSet ts = new TreeSet(); int data = 0; int count = 1; while ((data = inputData(count)) != 666) { ts.add(new Integer(data)); count++; } Integer[] datas = (Integer[]) ts.toArray(new Integer[ts.size()]); System.out.println("データの入力数=" + datas.length); System.out.println("最大値=" + datas[datas.length - 1]); } private static int inputData(int count) throws IOException { System.out.print(count + "人目のデータ="); String data = new BufferedReader(new InputStreamReader(System.in)) .readLine(); return Integer.parseInt(data); } }
781 :
デフォルトの名無しさん :2006/01/22(日) 06:49:37
772の課題3 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.TreeSet; public class Kadai772_3 { @SuppressWarnings("unchecked") public static void main(String[] args) throws Exception { TreeSet ts = new TreeSet(); int data = 0; int count = 1; while ((data = inputData(count)) != -1) { ts.add(new Integer(data)); count++; } Integer[] datas = (Integer[]) ts.toArray(new Integer[ts.size()]); System.out.println("最大値=" + datas[datas.length - 1]); } private static int inputData(int count) throws IOException { System.out.print(count + "人目の成績="); String data = new BufferedReader(new InputStreamReader(System.in)) .readLine(); return Integer.parseInt(data); } }
782 :
デフォルトの名無しさん :2006/01/22(日) 07:00:00
772の課題4 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.TreeSet; public class Kadai772_4 { public static void main(String[] args) throws Exception { TreeSet ts = new TreeSet(); int data = 0; int count = 1; while ((data = inputData(count)) != -1) { ts.add(new Integer(data)); count++; } Integer[] datas = (Integer[]) ts.toArray(new Integer[ts.size()]); for (int i = datas.length - 1; i >= 0; i--) System.out.println(datas[i]); } private static int inputData(int count) throws IOException { System.out.print(count + "人目の成績="); String data = new BufferedReader(new InputStreamReader(System.in)) .readLine(); return Integer.parseInt(data); } }
783 :
デフォルトの名無しさん :2006/01/22(日) 07:41:57
772の課題5 public class Person { private String namae; private int seiseki; public Person(String theNamae, int theSeiseki) { this.namae = theNamae; this.seiseki = theSeiseki; } public String getNamae() { return namae; } public void setNamae(String namae) { this.namae = namae; } public int getSeiseki() { return seiseki; } public void setSeiseki(int seiseki) { this.seiseki = seiseki; } }
784 :
デフォルトの名無しさん :2006/01/22(日) 07:45:44
772の課題5の続き import java.io.*; import java.util.ArrayList; public class Kadai772_5 { public static void main(String[] args) throws IOException { ArrayList list = new ArrayList(); Person person = null; while ((person = inputPerson()) != null) list.add(person); for (int i = 0; i < list.size(); i++) { Person outPerson = (Person) list.get(i); hyouji(outPerson.getNamae(), outPerson.getSeiseki()); } } public static void hyouji(String namae, int seiseki) { System.out.println("名前=" + namae + "\t成績=" + seiseki); } private static Person inputPerson() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("名前を入力してください[終了=enter]:"); String namae = br.readLine(); if (namae.length() < 1) return null; System.out.print(namae + "さんの成績を入力してください[終了=enter]:"); String seiseki = br.readLine(); if (seiseki.length() < 1) return null; return new Person(namae, Integer.parseInt(seiseki)); } }
【 課題 】ディレクトリーをパラメーターとして受け取って、そのディレクトリー内のファイル一覧をList形式で応答するユーティリティークラスを作成しなさい 【 Ver 】J2se1.4 よろしくお願いします。何かサンプルがあるページの紹介でもいいです。
クラスの設計方法を教えてくれorz なにをクラスに なにをメソッドに なにをフィールドに すればいいんじゃぁぁぁぁぁぁぁぁぁぁぁぁ
>785 > List形式で応答 っていう意味がわかりません。 treeコマンドみたいなもん? コンソールアプリでいい?
772です。>777様、友人宅で書き込ませて頂いたもので返信出来ず済みませんでした。 お待ち頂いていたのに本当に申し訳有りません。 >778、779、780、781、782、783、784様回答有難う御座います。 これで卒業出来そうです(泣)助かりました…。コマンドプロントが 手元にないので実効結果がまだ出ていないのですが、出来次第お知らせに上がります。
790 :
765 :2006/01/22(日) 12:36:01
>>770 様ありがとうございました。
すいませんがどなたかPAD図も教えてくださいませ
【 課題 】次の機能を実装するクラスを設計せよ。ただしクラスは複数あってよい。 ・IDとPASSWORDを入力すると、DBを参照しログイン可能かチェック ・ログインしたユーザは自分のパラメータを見ることができる ・ログインしたユーザは自分のパラメータを変更することができる ・DBに存在するカラム:ID,PASSWORD,名前,住所,得意科目 ユーザークラスとDBにアクセスするクラスがあればいいのかな・・・・・・?
>>785 一応サンプル作った。Windows なら C ドライブ直下が読めるはず。
あとは javadoc で java.io.File を読むなりなんなり。
import java.io.File;
import java.util.*;
public class W_54_785 {
public static List getChildFileList(File dir) {
List result = new ArrayList();
File[] children = dir.listFiles();
for (int i = 0; i < children.length; i++) {
File child = children[i];
if (child.isFile()) {
result.add(child);
}
}
return result;
}
public static void main(String[] args) {
List filelist = W_54_785.getChildFileList(File.listRoots()[1]);
for (Iterator iter = filelist.iterator(); iter.hasNext();) {
System.out.println(iter.next());
}
}
}
【 課題 】3つのテキストボックスにそれぞれ年・月・日を入力し, ボタンを押すと, 4つ目のテキストボックスにその日の曜日が表示されるページをHTMLとJavaScriptを用いて作成しなさい 【 期限 】1月26日(水) 【 補足 】丸なげです。どうかお願い致します。
質問です。 ここに10個の数字があります。 33 35 36 37 38 39 48 52 75 79 7桁の重複しない組み合わせをすべて出力しなさい。 例)33 35 36 37 38 39 48 33 35 36 37 38 39 52 33 35 36 37 38 39 75 33 35 36 37 38 39 79 33 35 36 37 38 48 52 ・ ・ ・ ・ ってどうやってプログラム組めばいいですか? 俺の頭の中では、むりぽ。
797 :
デフォルトの名無しさん :2006/01/23(月) 11:35:35
772です。前回は有り難う御座いました。 実行してみたのですが、1と5がうまくいかずエラ―が出てしまいます。 1のエラ―がjava:28:‘class'または‘interface'がありません。 import java.util.Array; エラ―1個と表示されていて、5のエラ―がjava:28:‘class'または‘interface'がありません。 import java.util.Array; java:34:‘class'または‘interface'がありません。 import java.util.ArrayList; エラ―2個と表示されます。 申し訳有りませんが、どこをどう直せば動くかご指摘頂けると嬉しいです。
>>797 エスパーです。もしかしてだけど、1ファイルにまとめてないだろうな。
課題1:
>>778 は Shop.java に、
>>779 は Kadai772_1.java に保存する。
課題5:
>>783 は Person.java に、
>>784 は Kadai772_5.java に保存する。
的外れだったらすまそ。
【 課題 】スタックを利用して簡単な数式を計算するプログラムを作成せよ。以下に示すプログラムの流れのように数値、演算子は1個ずつ 順番に入力するようにせよ。 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】提出期限、解答希望日があれば書きます 【 Ver 】希望するJavaバージョンがあれば書きます 【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。 丸投げでない場合は、途中までのソースとその経過報告、 質問点、疑問点を書きます(なるべく丸投げにしてください)
ごめんなさい。ミスです。もう一回書きます。
【 課題 】スタックを利用して簡単な数式を計算するプログラムを作成せよ。
以下に示すプログラムの流れのように数値、演算子は1個ずつ
順番に入力するようにせよ。
1.(イ)現在のスタックの状態を表示する
(ロ)プロンプトを表示し、キーの入力を受け付ける
(ハ)入力されたデータの種類に従って以下のいずれかの処理を実行する
(A)数値が入力されていた場合、スタックにその数値を積む。
(B)演算子が入力されていた場合、スタックから数値を2個取り出し、
演算子に対応した計算を実行して結果をスタックに積む。
(C)誤ったデータが入力されていた場合、エラーを表示して再入力を求める。
(D)=が入力されていた場合は処理を中断して2.へすすむ。
2.計算結果を表示する。スタックに積み残した数値がある場合にはメッセージを表示する。
【 期限 】25日までです。
【 補足 】逆ポーランド記法を使ってやるらしいのですが全然わかりません。
丸投げですが、お願いします。
あと、
>>678 のソースはもう見れないんでしょうか?参考にしたいです。
802 :
デフォルトの名無しさん :2006/01/23(月) 14:45:55
import java.awt.Frame; import com.sun.j3d.utils.universe.*; import java.applet.Applet; import java.awt.BorderLayout; import java.awt.event.*; import com.sun.j3d.utils.applet.MainFrame; import java.io.*; import java.util.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.geometry.*; import javax.media.j3d.TransparencyAttributes; import javax.media.j3d.BranchGroup; import com.sun.j3d.utils.behaviors.mouse.*; public class ATS extends Applet { public ATS() {
803 :
上の続き :2006/01/23(月) 14:46:47
Canvas3D canvas = new Canvas3D( null ); SimpleUniverse universe = new SimpleUniverse( canvas ); setLayout( new BorderLayout() ); add( universe.getCanvas(),"Center" ); BranchGroup root=new BranchGroup(); Background background = new Background( new Color3f( 1.0f, 1.0f, 1.0f ) ); BoundingSphere bounds = new BoundingSphere( new Point3d( 0.0,0.0,0.0 ),100.0 ); background.setApplicationBounds( bounds ); root.addChild( background ); DirectionalLight light = new DirectionalLight(); light.setDirection( new Vector3f( -0.3f, -0.5f, -1.0f ) ); light.setInfluencingBounds( bounds ); root.addChild( light ); Appearance appearance = new Appearance(); Material mt = new Material( new Color3f( 1.0f, 0.3f, 0.5f ), new Color3f( 1.0f, 0.3f, 0.5f ), new Color3f( 1.0f, 0.3f, 0.5f ), new Color3f( 1.0f, 0.3f, 0.5f ), 0.0f );
804 :
上の続き :2006/01/23(月) 14:51:05
appearance.setMaterial( mt ); Primitive primitive = new Sphere( 0.1f ); primitive.setAppearance( appearance ); //root.addChild( primitive ); TransformGroup tg = new TransformGroup(); tg.addChild( primitive ); root.addChild(tg); // マウス操作部分 tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); MouseRotate rotat = new MouseRotate(tg); rotat.setSchedulingBounds(bounds); tg.addChild(rotat); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph( root ); } public static void main( String[] args ) { new MainFrame( new ATS(), 512, 512 ); } }
805 :
上の続き :2006/01/23(月) 14:55:22
上記の球のプログラムに アプレット中のボタンを作成して、 ボタンを押すごとに、球が増えるプログラムを作成せよ。 1月24日までにお願いします。
>>801 --[PolishCalculator.java]--
package yaoi801;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PolishCalculator {
static SimpleStack simpleStack = new SimpleStack();
public static void main(String[] args) {
for (;;) {
System.out.print("> ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
str = br.readLine();
parse(str);
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
System.out.println("入力値が不正です. 整数値または +, -, *, / を入力してください.");
continue;
} catch (OperationException e) {
System.out.println("エラー:スタックの要素数が不足しているか、または0除算が発生しました");
System.out.println("指示された操作(" + str + ")を実行できません");
System.out.println("終了します");
System.exit(2); // 異常終了
}
System.out.println(simpleStack.toString());
}
}
private static void parse(String s) throws OperationException { if ("+".equals(s)) { simpleStack.operate(OpType.ADD); } else if ("-".equals(s)) { simpleStack.operate(OpType.SUB); } else if ("*".equals(s)) { simpleStack.operate(OpType.MUL); } else if ("/".equals(s)) { simpleStack.operate(OpType.DIV); } else if ("=".equals(s)) { simpleStack.show(); } else if (".".equals(s)) { simpleStack.end(); } else { int i = Integer.parseInt(s); simpleStack.eatnum(i); } } } --[OpType.java]-- package com.jane.ch2.polish; public enum OpType { ADD, SUB, MUL, DIV }
//
>>808 //おっと OpType.java のパッケージ名を間違えた。
--[OpType.java]--
package yaoi801;
public enum OpType {
ADD, SUB, MUL, DIV
}
//まだつづきがあります
--[SimpleStack.java]-- package yaoi801; import java.util.ArrayList; import java.util.List; public class SimpleStack { List<Integer> stack = new ArrayList<Integer>(); public void push(int val) { stack.add(val); } public int pop() throws EmptyException { if (stack.isEmpty()) throw new EmptyException(); int idx = stack.size() - 1; int ret = stack.get(idx); stack.remove(idx); return ret; } public boolean isEmpty() { return (stack.size() == 0); } public void operate(OpType type) throws OperationException { int a, b, result = 0; try { a = pop(); b = pop(); switch (type) {
case ADD: result = b + a; break; case SUB: result = b - a; break; case MUL: result = b * a; break; case DIV: if (a == 0) throw new OperationException(new Exception("Division by Zero")); result = b / a; break; default: } push(result); } catch (EmptyException e) { throw new OperationException(e); } } public void eatnum(int val) { push(val); } public void show() throws OperationException { int a; try { a = pop(); System.out.println("計算結果は" + a + "です");
if (!isEmpty()) System.out.println("注意:スタックに残りがあります!"); System.out.println("----\n処理を終了します\n"); System.exit(0); } catch (EmptyException e) { throw new OperationException(e); } } public void end() { System.out.println("処理を終了します"); System.exit(1); // ユーザ依頼による終了 } public String toString() { StringBuilder strbld = new StringBuilder(); strbld.append("[ "); for (Integer i : stack) { strbld.append(i + " "); } strbld.append("]"); return strbld.toString(); } } --[EmptyException.java]-- package yaoi801; public class EmptyException extends Exception { EmptyException(){ super(); } } //つづく
--[OperationException.java]-- package yaoi801; public class OperationException extends Exception { public OperationException(Exception e) { super(e); } } // ここまで // はっきりいって例外クラスが冗長
814 :
デフォルトの名無しさん :2006/01/23(月) 20:10:36
【 課題 】半角カタカナの文字列をローマ字(ヘボン式)に変換するクラスを作成する。 【 用語 】無し 【 期限 】無し 【 Ver 】無し 【 補足 】例えば、「シュクダイスレッド」は「syukudaisureddo」に変換します。 Java初心者で取っ掛かり方も良く分からないので、宜しくお願いします。
815 :
デフォルトの名無しさん :2006/01/23(月) 20:59:38
↓これお願いします java でsingletonを実装する際にやらなければならないことを 3項目挙げよ
>815 Singletonクラスの場合。 1. コンストラクタをprivateに。private Singleton(/**/) { /*...*/ } 2. 自分自身をstaticでフィールドに持つ。private static Singleton self = new Singleton(/**/); 3. 2のフィールドを公開するメソッドを実装する。public static Singleton getInstance() { return self; } ソースは試してません。メッセージ欄に直打ちです。
import java.io.*; public class test { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; System.out.print("半角カナの文章を入力 > "); try { str = br.readLine(); str = translate(str); }catch(IOException e){ e.printStackTrace(); } System.out.println(str); } //つづく
private static String translate(String kana){ Kana[] k = Kana.values(); StringBuilder str = new StringBuilder(kana); int index; for(int i=Kana.ガ.ordinal();i<=Kana.ォ.ordinal();i++){ while((index=str.indexOf(k[i].kana)) != -1){ str.replace(index,index+k[i].kana.length(),k[i].yomi); } } for(int i=Kana.ャ.ordinal();i<=Kana.ョ.ordinal();i++){ while((index=str.indexOf(k[i].kana)) != -1){ str.replace(index-1,index+k[i].kana.length(),k[i].yomi); } } while((index=str.indexOf(Kana.ッ.kana)) != -1){ str.deleteCharAt(index); str.insert(index,str.charAt(index)); } return str.toString(); } //つづく
private static enum Kana{ ガ("ga"),ギ("gi"),グ("gu"),ゲ("ge"),ゴ("go"),ザ("za"),ジ("ji"),ズ("zu"),ゼ("ze"),ゾ("zo"), ダ("da"),ヂ("di"),ヅ("du"),デ("de"),ド("do"),バ("ba"),ビ("bi"),ブ("bu"),ベ("be"),ボ("bo"), パ("pa"),ピ("pi"),プ("pu"),ペ("pe"),ポ("po"),ヴ("vu"), ア("a"),イ("i"),ウ("u"),エ("e"),オ("o"),カ("ka"),キ("ki"),ク("ku"),ケ("ke"),コ("ko"), サ("sa"),シ("si"),ス("su"),セ("se"),ソ("so"),タ("ta"),チ("ti"),ツ("tsu"),テ("te"),ト("to"), ナ("na"),ニ("ni"),ヌ("nu"),ネ("ne"),ノ("no"),ハ("ha"),ヒ("hi"),フ("fu"),ヘ("he"),ホ("ho"), マ("ma"),ミ("mi"),ム("mu"),メ("me"),モ("mo"),ヤ("ya"),ユ("yu"),ヨ("yo"), ラ("ra"),リ("ri"),ル("ru"),レ("re"),ロ("ro"),ワ("wa"),ヲ("wo"),ン("n"), ァ("a"),ィ("i"),ゥ("u"),ェ("e"),ォ("o"),ャ("ya"),ュ("yu"),ョ("yo"),ッ(""); public final String kana; public final String yomi; private Kana(String yomi){ this.kana = this.name(); this.yomi = yomi; } } } //おわり。やばい。超ダサい
private static String translate(String kana){ Kana[] k = Kana.values(); StringBuilder str = new StringBuilder(kana); int index; for(int i=Kana.ガ.ordinal();i<=Kana.ン.ordinal();i++){ while((index=str.indexOf(k[i].kana)) != -1){ str.replace(index,index+k[i].kana.length(),k[i].yomi); }} for(int i=Kana.ァ.ordinal();i<=Kana.ョ.ordinal();i++){ while((index=str.indexOf(k[i].kana)) != -1){ str.replace(index-1,index+k[i].kana.length(),k[i].yomi); }} while((index=str.indexOf(Kana.ッ.kana)) != -1){ str.deleteCharAt(index); str.insert(index,str.charAt(index)); } return str.toString(); }
821 :
814 :2006/01/23(月) 22:01:15
>>820 ありがとうございます。
Eclipseにコードを貼り付けると、下のようなエラーが表示されます。
どこを修正すれば良いのでしょうか?
記述リソースフォルダーロケーション
Kana[] は解決できないか、型ではありません。Test.javaTest/src/test行 35
Kana は解決できません。Test.javaTest/src/test行 35
StringBuilder は解決できないか、型ではありません。Test.javaTest/src/test行 36
Kana は解決できません。Test.javaTest/src/test行 39
Kana は解決できません。Test.javaTest/src/test行 44
Kana は解決できません。Test.javaTest/src/test行 49
enum はフィールド Test.Kana について解決できません (あるいは有効な型ではありません)。Test.javaTest/src/test行 57
構文エラーがあります。";" を挿入して FieldDeclaration を完了してください。Test.javaTest/src/test行 57
トークン ")" に構文エラーがあります。このトークンを削除してください。Test.javaTest/src/test行 58
トークンに構文エラーがあります。構成の位置が間違っています。Test.javaTest/src/test行 68
構文エラーがあります。")" を挿入して Expression を完了してください。Test.javaTest/src/test行 68
構文エラーがあります。"}" を挿入して Block を完了してください。Test.javaTest/src/test行 68
メソッドの戻りの型がありません。Test.javaTest/src/test行 73
メソッド name() は型 Test で未定義です。Test.javaTest/src/test行 74
トークン "}" に構文エラーがあります。このトークンを削除してください。Test.javaTest/src/test行 79
822 :
814 :2006/01/23(月) 22:19:13
仕事上での宿題なのですが、答えて頂いて申し訳ありませんが、 話に進展があり下記のようになりました。 まず下記のコードがあります。 public class Kana2Roma { // 全カタカナ<-->ローマ字変換テーブル private static final String Kana2RomaTbl[][] = { {"ガ", "GA"},{"ギ", "GI"},{"グ", "GU"},{"ゲ", "GE"},{"ゴ", "GO"}, {"ザ", "ZA"},{"ジ", "JI"},{"ズ", "ZU"},{"ゼ", "ZE"},{"ゾ", "ZO"}, {"ダ", "DA"},{"ヂ", "JI"},{"ヅ", "ZU"},{"デ", "DE"},{"ド", "DO"}, {"バ", "BA"},{"ビ", "BI"},{"ブ", "BU"},{"ベ", "BE"},{"ボ", "BO"}, {"パ", "PA"},{"ピ", "PI"},{"プ", "PU"},{"ペ", "PE"}, {"ポ", "PO"}, {"キャ", "KYA"},{"キュ", "KYU"},{"キョ", "KYO"}, {"シャ", "SHA"},{"シュ", "SHU"},{"ショ", "SHO"}, {"チャ", "CHA"},{"チュ", "CHU"},{"チョ", "CHO"},{"チェ", "CHE"}, {"ニャ", "NYA"},{"ニュ", "NYU"},{"ニョ", "NYO"}, {"ヒャ", "HYA"},{"ヒュ", "HYU"},{"ヒョ", "HYO"}, {"ミャ", "MYA"},{"ミュ", "MYU"},{"ミョ", "MYO"}, {"リャ", "RYA"},{"リュ", "RYU"},{"リョ", "RYO"}, {"ギャ", "GYA"},{"ギュ", "GYU"},{"ギョ", "GYO"}, {"ジャ", "JA"},{"ジュ", "JU"},{"ジョ", "JO"}, {"ビャ", "BYA"}, {"ビュ", "BYU"},{"ビョ", "BYO"}, {"ピャ", "PYA"},{"ピュ", "PYU"},{"ピョ", "PYO"}, 続く
823 :
814 :2006/01/23(月) 22:19:55
{"ア", "A"},{"イ", "I"},{"ウ", "U"},{"エ", "E"},{"オ", "O"}, {"カ", "KA"},{"キ", "KI"},{"ク", "KU"},{"ケ", "KE"},{"コ", "KO"}, {"サ", "SA"},{"シ", "SHI"},{"ス", "SU"},{"セ", "SE"},{"ソ", "SO"}, {"タ", "TA"},{"チ", "CHI"},{"ツ", "TSU"},{"テ", "TE"},{"ト", "TO"}, {"ナ", "NA"},{"ニ", "NI"},{"ヌ", "NU"},{"ネ", "NE"},{"ノ", "NO"}, {"ハ", "HA"},{"ヒ", "HI"},{"フ", "FU"},{"ヘ", "HE"},{"ホ", "HO"}, {"マ", "MA"},{"ミ", "MI"},{"ム", "MU"},{"メ", "ME"},{"モ", "MO"}, {"ヤ", "YA"},{"ユ", "YU"},{"ヨ", "YO"}, {"ラ", "RA"},{"リ", "RI"},{"ル", "RU"},{"レ", "RE"},{"ロ", "RO"}, {"ワ", "WA"},{"ヰ", "I"},{"ヱ", "E"},{"ヲ", "O"}, {"ン", "N"}, {"ァ", "A"},{"ィ", "I"},{"ゥ", "U"},{"ェ", "E"},{"ォ", "O"} }; 続く
824 :
814 :2006/01/23(月) 22:21:05
public static String convert(String kana) throws IllegalArgumentException { String str = ""; for (int i = 0, j = 0; i < kana.length(); i++) { Character c = new Character(kana.substring(i, i + 1).charAt(0)); if (c.compareTo(new Character((char)0x30a1)) >= 0 && c.compareTo(new Character((char)0x30fc)) <= 0) { for (j = 0; j < Kana2RomaTbl.length; j++) { if (kana.substring(i).startsWith(Kana2RomaTbl[j][0])) { str = str + Kana2RomaTbl[j][1]; i += Kana2RomaTbl[j][0].length() - 1; break; } } if (j >= Kana2RomaTbl.length) { str = str + kana.substring(i, i + 1); } } else { str = str + kana.substring(i, i + 1); } } return str; } } 続く
825 :
814 :2006/01/23(月) 22:25:25
半角カタカナではなく、全角カタカナでした。 上のコードだと例えば"キッカワ"を変換する場合、一字ずつのループ処理だと、 "ッ"の判別する場合、次の"カワ"の"K"を取得し、"ッ"→"K"と変換しなければならないので、 次のJavaScriptのような取得方法が良いのではないかという事です。 続く
function installHebonConversion() { function HebonMap() { this.map = {}; } HebonMap.prototype = { add : function(key, value) { this.map[key] = value; }, get : function(key) { var value = this.map[key]; return value? value : null; }, getHebon : function(s, index) { var h = null; var c = null; if (index + 1 < s.length) { c = s.substring(index, index + 2); h = this.get(c); } if (h == null && index < s.length) { c = s.substring(index, index + 1); h = this.get(c); } return {c : c, h : h}; } }; 続く
827 :
814 :2006/01/23(月) 22:28:08
hebonMap = new HebonMap(); hebonMap.add("ア", "A"); hebonMap.add("イ", "I"); hebonMap.add("ウ", "U"); hebonMap.add("エ", "E"); hebonMap.add("オ", "O"); hebonMap.add("カ", "KA"); hebonMap.add("キ", "KI"); hebonMap.add("ク" "KU"); hebonMap.add("ケ", "KE"); hebonMap.add("コ", "KO"); 以下、全てのカナとローマ字が続く 続く
828 :
814 :2006/01/23(月) 22:29:46
function toHebon(s) { var hebon = ""; var lastHebon = ""; var lastChar = ""; var i = 0; while (i < s.length) { var hr = hebonMap.getHebon(s, i); if (hr.c == "っ") { var nextHr = hebonMap.getHebon(s, i + 1); if (nextHr.h != null) { if (nextHr.h.indexOf("CH") == 0) { hr.h = "T"; } else { hr.h = nextHr.h.substring(0, 1); } } } else if (hr.c == "ん") { var nextHr = hebonMap.getHebon(s, i + 1); if (nextHr.h != null && (nextHr.h.indexOf("B") == 0 || nextHr.h.indexOf("M") == 0 || nextHr.h.indexOf("P") == 0) ) { hr.h = "M"; } else { hr.h = "N"; } } else if (hr.c == "ー") { hr.h = ""; } 続く
829 :
814 :2006/01/23(月) 22:30:50
if (hr.h != null) { if (lastHebon != null) { var htest = lastHebon + hr.h; if (htest.length > 2) { htest = htest.substring(htest.length - 2); } if (htest == "AA" || htest == "II" || htest == "UU" || htest == "EE" || htest == "OO" || htest == "OU") { hr.h = ""; } } hebon += hr.h; } else { hebon += hr.c; } lastHebon = hr.h; lastChar = hr.c; i += hr.c.length; } return hebon; } String.prototype.toHebon = function() { return toHebon(this); } } installHebonConversion(); 以上、非常に読みづらいと思いますが、宜しくお願いします。
>817-820氏ではないですが。 もし俺が>817-820氏だったらけっこうヘコみます。 JDK5.0はダメだと指定しろと。 >822-829では結局何をお願いされたのかよくわかりません。。 あと、仕事上での宿題ってそれは"宿題"じゃなくて"仕事"じゃないの?
831 :
814 :2006/01/23(月) 22:33:49
828のひらがなは間違いで、カタカナに読み替えて下さい。
832 :
814 :2006/01/23(月) 22:37:07
>>830 820氏には大変申し訳ない事をしたと反省しています。
Javaの勉強中で、業務上で問題になっている箇所を
考えてみるという課題を出されました。
私が作業者というわけではありません。
>798様 797です。仰る通りです申し訳有りません…。 本当に右も左も分かっていないですね(汗) これは別々に保存すれば良いのでしょうか? コマンドプロント上で実行する時に1ファイルを 実行することかした事がなかったのでついまとめてしまったのですが…。
834 :
830 :2006/01/23(月) 22:58:48
if (kana.substring(i).startsWith(Kana2RomaTbl[j][0])) { に対応するelse if で } else if ( kana.charAt(i) == 'ッ' ) { for( int k=0; k<Kana2RomaTbl.length; k++ ) { if( kana.substring(i+1).startsWith(Kana2RomaTbl[k][0]) ) { str += Kana2RomaTbl[k][1].charAt(0); i++; break; } } とか足しとけばいいんじゃないの? 元のソースの時点で「ピュ」とかちゃんと変換できません。 「ピ」より「ピュ」のほうが後に評価されるようになってる。 startsWith()使ってるからKana2RomaTblでカタカナ2文字の奴は上位に持ってこないとダメ。
835 :
814 :2006/01/23(月) 23:05:40
>>834 なるほど。試してまたレスします。
ピュの変換は確かにその通りですね。
指摘ありがとうございます。
836 :
814 :2006/01/23(月) 23:33:49
>>834 変換できました。ありがとうございます。
しかし、試している途中で、促音や長音を考慮していない事に気付きました。
下記のように変換したいのですが、どのようなif文を追加すれば良いのでしょうか?
促音子音を重ねて示します。
(例)服部 (ハットリ) HATTORI 吉川(キッカワ)KIKKAWA
チ(CHI)、チャ(CHA)、チュ(CHU)、チョ(CHO)音に限り、その前に T を加えます。
(例)発地(ホッチ) HOTCHI 八丁(ハッチョウ) HATCHO
その他はCを重ねて示します
HOCCHI HACCHO
長音ヘボン式では長音を表記しません
(例)河野(コウノ) KONO 大野(オオノ)ONO
日向(ヒュウガ) HYUGA 中馬(チュウマ) CHUMA
宜しくお願いします。
837 :
796 :2006/01/23(月) 23:37:19
>833 はい。 それは別々にそれを保存します。 そして、それぞれがコンパイルされます。 次に、2のjavaファイルになります、そして、さらに、コンパイラは2のクラス が問題1のためのファイルであると生成します。 そのうえ、同様に2のjavaファイルになります、そして、さらに、コンパイラは2 のクラスが問題5のためのファイルであると生成します。 あなたがKadai772_1の公共の静的なvoicメイン(結ぶ)を実行すると、問題1は計算 されるでしょう。 そして、Kadai772_5は公共の静的なvoicメイン(結ぶ)のそばで問題5について計 算するでしょう。 %java Kadai772_1のようにコマンドラインにそれを置いてください。 (Powered by BizLingo)
>>833 はい。別々に保存します。
そしてそれぞれをコンパイルします。
すると課題1のためにそれは2つのjavaファイルとなり
さらにコンパイラは2つのclassファイルを生成します。
また課題5のためにも同様に2つのjavaファイルとなり
さらにコンパイラは2つのclassファイルを生成します。
あなたはKadai772_1のpublic static voic main(String)
を実行したら課題1の計算が行われるでしょう。
そしてKadai772_5がpublic static voic main(String)に
よって課題5は計算するでしょう。
コマンド行に% java Kadai772_1のように入れなさい。
(BizLingoによって動かされます。)
>>833 課題1の実行方法を示します。
次の手順で実行してください。
(1)
>>778 を Shop.java に保存します。
(2) (
>>779 を Kadai772_1.java に保存します。
※(1)と(2)で作る2つのファイルは、同じじディレクトリに置きましょう。
(3) Shop.java をコンパイルします。
% javac Shop.java
→ Shop.class ができます。
(4) Kadai772_1.java をコンパイルします
% javac Kadai772_1.java
→ Kadai772_1.class ができます。
(5) Kadai772_1 を実行します。
% java Kadai772_1
→次のような出力が得られる筈です。
A店のアイスの値段=100
B店のアイスの値段=105
A店の方がB店より5円安い。
javac や java の実行にあたりクラスパス等は適切に設定済みであるものとします。
課題5についても同様です。
(1)
>>783 を Person.java に保存。
(2)
>>784 を Kadai772_5.java に保存。
(3) % javac Person.java
(4) % javac Kadai772_5.java
(5) % java Kadai772_5
これで動くと思います。
// 作成者じゃないけどさ。
>836 一つだけヒントをあげよう。 ・長音かどうかを判別するには形態素解析が必要である。 例: *ツウ*シン(通信) → 長音( *TSU*SHIN ) ニガ*ツウ*マレ(二月生まれ) → 非長音 ( NIGA*TSUU*MARE )
842 :
841 :2006/01/24(火) 09:16:38
当たり前だけど、それに付随して辞書も要るので念の為。
843 :
801 :2006/01/24(火) 13:23:21
>>807 ありがとうございます。
これらのjavaファイルを実行するには、作業フォルダにパッケージ名と同じフォルダを作って
その中にそれらのjavaファイルを全部置いて、コンパイル、実行するんですよね?
コンパイルするとエラーが出るのですが、これはソース中の問題なのでしょうか。
>>843 Java2 5.0を使ってますか?
1.4だとコンパイルエラーになるはずだと思いますよ。
総称と列挙型を使ってるから。
今、50.使ってるやつなんかいんのかよ
846 :
843 :2006/01/24(火) 14:20:08
>>844 ご丁寧にありがとうございます。やってみます。
847 :
デフォルトの名無しさん :2006/01/24(火) 15:18:19
sunのjava5.0をダウンロードしてインストールしようとしたら使用許諾書みたいなのがでてきました 90日以内に領収書がどうたらこうたらと書いてありました 気にせずインストールしたのですがお金を払わなければいけないのでしょうか??
ageてしまった・・・
(´-`).。oO(こいつ一体何インスコしたんだろう・・・)
>>849 やっぱりお金払わないといけないのでしょうか?
851 :
843 :2006/01/24(火) 17:25:24
852 :
デフォルトの名無しさん :2006/01/24(火) 19:46:48
全くわかりません(; ;)31までです。お願いします。 以下です↓ アルファベットの出現頻度を調べるプログラムFreqを作りましょう. 引数で指定したファイルを読み込んで,A〜Zまでのそれぞれのアルファベットが何回出現したかを表示してください. % java Freq foo.txt (foo.txtというファイルから調べる) A ... 10 B ... 4 C ... 9 ... Z ... 5 % /usr/share/dict/words というファイルに英語の単語が1行1語で載っています.このファイルを指定した場合の実行結果を添付してください. ヒント それぞれのアルファベット(A〜Z)の数をカウントするために,26の要素を持つint型の配列を用います. Aの数は配列の0番目,Bの数は配列の1番目...に格納します. 配列の添字として"A"なら0,"B"なら1...という値を計算する必要があります.それには次の方法が使えます. String abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int n = abc.indexOf("C"); // n = 2 が得られる 文字列を1文字づつに分解するには,Stringクラスのsubstringメソッドが使えます. 大文字小文字を区別せずにカウントするには,読み込んできた行を一度大文字(あるいは小文字)に変換しておくと良いでしょう.このためにはStringクラスのtoUpperCase()(やtoLowerCase())メソッドが使えます. ソースプログラム,プログラムの解説,実行結果,感想,難易度を書いて下さい.
853 :
デフォルトの名無しさん :2006/01/24(火) 19:51:11
もういっちょうあります(; ;)誰か心優しい方、よろしくお願いします。 以下です↓ ファイル中の,特定の文字列が含まれる行だけ抜き出して表示するような 文字列検索プログラムSearchStringを作ってください. 表示する行には,その行が何行目なのかも一緒に表示してください. 最初の行は1行目とします. 検索する文字列とファイル名は引数で与えること. myfile(という名前のファイル)から"tion"という文字列を含む行を 検索する場合, 以下のように実行します. 以下の結果は30行目と43行目にtionを含む行があったことを示しています. $ java SearchString tion myfile 30:your question is .. 43:reputation ... $ 実は,UNIX には同様の処理を行うコマンド(fgrep)が既に存在します.上記の例を fgrep コマンドで実行するにはコマンドラインから fgrep -n tion myfile と入力して下さい. ソースプログラム,プログラムの解説,実行結果,感想,難易度を書いて下さい. ヒント: 文字列中から文字列を検索するにはStringクラスのindexOf(String)メソッドを使うと簡単です. indexOfで返される「インデックス」とは,a.indexOf(b)で「bがaの何文字目から始まるか」という値のことです. "ABCD".indexOf("AB") == 0 になります (0文字目から始まるので)
854 :
デフォルトの名無しさん :2006/01/24(火) 20:05:11
package net._2ch.tech; import java.io.*; import java.util.*; public class Freq { public static void main( final String args[] ) throws Exception { final List l = Arrays.asList( new String[]{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","X","Y","Z" } ); final Map m = new HashMap( ); { final Iterator it = l.iterator( ); while( it.hasNext( )) { m.put( it.next( ), "" ); } } final BufferedReader rd = new BufferedReader( new FileReader( args[0] )); while( true ){ final String s = rd.readLine( ); if( s == null ) break; final Iterator it = l.iterator( ); while( it.hasNext( )) { final String key = (String)it.next( ); m.put( key, m.get( key ) + s.replaceAll( "[^"+key + key.toLowerCase( )+"]", "" )); } } rd.close( ); final Iterator it = l.iterator( ); while( it.hasNext( )) { final String key = (String)it.next( ); System.out.println( key + "..." + ((String)m.get( key )).length( )/key.length( )); } } }
833です。838、839、840様有難う御座いました! 何とか動かせそうです。お世話になりました。
857 :
デフォルトの名無しさん :2006/01/24(火) 20:28:45
課題 】2つの数字を入力し、加算・減算・乗算・除算・を行うプログラム作成 大きく入力されたほうから計算するようにする。(例あ=7、A=9の場合9から計算する) 除算については浮動小数点形式で表示。 main()メソッドとCalcクラスにわけて行う。 calcにはaddメソッド、subメソッド、mulメソッド、divメソッド作成。 【 用語 】特に無し 【 期限 】1月25日 【 Ver 】特に無し 【 補足 】宜しくお願いします。
858 :
デフォルトの名無しさん :2006/01/24(火) 20:37:22
課題 】要素数が6つの任意の整数を入力する。(入力によって) それぞれ昇順、降順に並び替え、出力する。 main()メソッドとchangeクラスにわけて行う。 changeクラスにはsyoujyunメソッドとkoujyunメソッド作成。 【 用語 】特に無し 【 期限 】1月25日 【 Ver 】特に無し 【 補足 】こちらも、宜しくお願いします。
859 :
デフォルトの名無しさん :2006/01/24(火) 20:39:10
858です。追加です。 2つに分けてないやつが下のやつです。よろしくお願いします。 import java.io.*; public class Sort { public static void main(String[] args) throws IOException{ BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); int[] sort=new int[6]; for(int i=0; i<sort.length; i++){ System.out.print("数値入力["+(i+1)+"]:"); sort[i] = Integer.parseInt(buf.readLine()); } // 昇順 for(int i=0; i<sort.length; i++){ for(int j=i+1; j<sort.length; j++){ if(sort[i]>sort[j]){ int change = sort[i]; sort[i] = sort[j]; sort[j] = change; }}} for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", "); } System.out.println(); // 降順 for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){ int change = sort[i]; sort[i] = sort[j]; sort[j] = change; } for(int i=0; i<sort.length; i++){System.out.print(sort[i]+", "); }}}
860 :
デフォルトの名無しさん :2006/01/24(火) 22:06:33
行列の {0.6 4.0}5 {1.0}{0.7 0.3} を計算するプログラムを教えてください! {0.6 4.0}5 {0.7 0.3} は5乗するって意味です! 期限:1月27日 よろしくお願いします!
861 :
デフォルトの名無しさん :2006/01/24(火) 22:09:54
860です!配列とforを使って作ってください(><) お願いします!
862 :
デフォルトの名無しさん :2006/01/24(火) 22:13:47
860です!配列とforを使って作ってください(><) お願いします!
863 :
デフォルトの名無しさん :2006/01/24(火) 22:14:47
860です!配列とforを使って作ってください(><) お願いします!
>>858-859 syoujyunとkoujyunはクラスメソッドでもいい?
こんな感じになった。
// Sort.java
package ch2_858;
import java.io.*;
public class Sort {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int[] sort=new int[6];
for(int i=0; i<sort.length; i++){
System.out.print("数値入力["+(i+1)+"]:");
sort[i] = Integer.parseInt(buf.readLine());
}
Change.syoujyun(sort);
Change.koujyun(sort);
}
}
// つづく
// Change.java package ch2_858; public class Change { public static void syoujyun(int[] sort) { // 昇順 for(int i=0; i<sort.length; i++){ for(int j=i+1; j<sort.length; j++){ if(sort[i]>sort[j]){ int change = sort[i]; sort[i] = sort[j]; sort[j] = change; }}} for(int i=0; i<sort.length; i++){ System.out.print(sort[i]+", "); } System.out.println(); } public static void koujyun (int[] sort) { // 降順 for(int i=0, j=sort.length-1; i<sort.length/2; i++,j--){ int change = sort[i]; sort[i] = sort[j]; sort[j] = change; } for(int i=0; i<sort.length; i++){ System.out.print(sort[i]+", "); }}} } // 以上
867 :
デフォルトの名無しさん :2006/01/24(火) 23:20:21
864さんありがとうございます
868 :
デフォルトの名無しさん :2006/01/24(火) 23:29:16
課題 】2つの数字を入力し、加算・減算・乗算・除算・を行うプログラム作成 大きく入力されたほうから計算するようにする。(例あ=7、A=9の場合9から計算する) 除算については浮動小数点形式で表示。 main()メソッドとCalcクラスにわけて行う。 calcにはaddメソッド、subメソッド、mulメソッド、divメソッド作成。 【 用語 】特に無し 【 期限 】1月25日 【 Ver 】特に無し 【 補足 】 これなんですが、 ヒント インスタンス生成 っての抜かしてました・・すいません。 宜しくお願いします。
869 :
マイト :2006/01/24(火) 23:53:46
870 :
765 :2006/01/25(水) 00:21:57
頑張って課題1のPADを作成し
PADの変数を
身←身長
体←体重
総←総人数(身長のグループ)
にしたのですが
>>770 さんのソース(Java)との変数の関係が
わからないのでをどなたか教えてください。
後、いくら考えても課題2の山くずしゲームのPAD図がわからないので
できればどなたか教えてください
871 :
デフォルトの名無しさん :2006/01/25(水) 00:36:05
860です!>866さんありがとうございました! でも(^_^;)僕には難しいので、累乗の部分を {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3} の計算(つまり{0.6 4.0}を5回乗算)したものに{1.0}を乗算して ( {0.7 0.3} ) 解を出力するプログラム(配列とforを使って)を作って欲しいで す(_ _;)すみませんがどうかお願いしますm(_ _;)m 【期限】1月27日
872 :
デフォルトの名無しさん :2006/01/25(水) 00:39:15
[871の修正]860です!>866さんありがとうございました! でも(^_^;)僕には難しいので、累乗の部分を {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.6 4.0} {0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3} {0.7 0.3} の計算(つまり{0.6 4.0}を5回乗算)したものに{1.0}を乗算して ( {0.7 0.3} ) 解を出力するプログラム(配列とforを使って)を作って欲しいで す(_ _;)すみませんがどうかお願いしますm(_ _;)m 【期限】1月27日
とりあえず少し落ち着いたらどうだろう。
874 :
デフォルトの名無しさん :2006/01/25(水) 13:46:52
【課題】yahooのソースをinternal.hemlという名前でファイルに保存するプログラムを作成 一個前の課題で画面に出力するやつはできたのですがファイルに保存するやりかたがわかりません。 一個前の画面に出力するプログラムを載せておきます import java.net.*; import java.io.*; class j10_1 { public static void main(String args[]) { try { Socket socket = new Socket("www.kcg.edu", 80); BufferedReader brin = new BufferedReader( new InputStreamReader( socket.getInputStream())); PrintWriter pwout = new PrintWriter( socket.getOutputStream(), true); ---------------------------------------------------------------------- 続く
875 :
デフォルトの名無しさん :2006/01/25(水) 13:48:24
---------------------------------------------------------------------- pwout.println("GET /index.html HTTP/1.0"); pwout.println(); String buf; while( (buf = brin.readLine()) != null) { System.out.println(buf); } pwout.close(); brin.close(); socket.close(); } catch(IOException e) { } } }
876 :
デフォルトの名無しさん :2006/01/25(水) 14:43:41
ノードA,Bに対する初期確率ベクトル、推移確率行列が次のように与えられたとき、 3年後、5年後の確率を求めるプログラムをjavaで組みなさい。 初期確率ベクトル q(0)={1,0} 推移確率行列 A B P= {0.6 0.4} {0.7 0.3}
877 :
デフォルトの名無しさん :2006/01/25(水) 14:44:21
ノードA,Bに対する初期確率ベクトル、推移確率行列が次のように与えられたとき、 3年後、5年後の確率を求めるプログラムをjavaで組みなさい。 初期確率ベクトル q(0)={1,0} 推移確率行列 A B P= {0.6 0.4} {0.7 0.3}
【 課題 】以下のdouble型の配列 [32.1, 4.5, 80.2, 0.1, 8.88, 70.4, 12.3, -2, 70.5, 50.6] の二番目に大きい値と二番目に小さい値を求めて入れ換えを行い、 全ての配列を出力するプログラムを作成しなさい。 【 期限 】今日の夜までには回答が欲しいです。 【 Ver 】1.4 【 補足 】丸投げです。お願いします。
* CSV文字列をStringの配列へ変換する。 * カンマで要素を区切る。 * ダブルクォートで括られている場合はカンマを含んでも1要素として扱う。 * 2連続のダブルクォートが現れた場合は1つのダブルクォートに置き換える。 * @param csvString CSV文字列。 * @return 各要素ごとに格納された配列。 public static String[] toStringArray(String csvString) { // TODO: ここに処理を実装する。 return null; } まだ習い始めたばっかりです。 宜しくお願いします。
880 :
デフォルトの名無しさん :2006/01/25(水) 15:20:57
【課題】 サーバで計算させてクライアントでは数値の入力と出力のみ行うプログラムを作成 ※足し算をサーバで行う(1つのPCでOK) クライアントはサーバ名を入力(localhost)し,キーボードから数値を2つ入力して,サーバに2つの数値を送信する。(ポート番号12335) サーバは2つの数値を受け取るとその2つを足し算し結果をクライアントに返す。 クライアントは計算結果を受け取り,画面に出力する。 まったくわかりません。。。お願いします
881 :
デフォルトの名無しさん :2006/01/25(水) 15:26:14
>>878 適当。
public class C878 {
public static void main(String[] args) {
double[] num =
{ 32.1, 4.5, 80.2, 0.1, 8.88, 70.4, 12.3, -2, 70.5, 50.6 };
int ch1 = 0, ch2 = 0;
for (int i = 0; i < num.length; i++) {
int lank = 1; //数値の順位 lank
for (int j = 0; j < num.length; j++) {
if (num[i] < num[j]) { // num[i]よりnum[j]が大きかった場合にlankが下がる
lank++;
}
}
if (lank == 2) { // lankが2位の時の添字をch1に入れる
ch1 = i;
} else if (lank == num.length - 1) { // lankが後ろから2番目のものも同様に
ch2 = i;
}
}
double ch3 = num[ch1]; // 交換
num[ch1] = num[ch2];
num[ch2] = ch3;
for (int i = 0; i < num.length; i++) { // 表示
System.out.print(num[i] + ", ");
}
}
}
882 :
デフォルトの名無しさん :2006/01/25(水) 15:38:14
キーボードから単語を読み取り、その単語の何番目に文字'a'が含まれている か判定するコードを作成してください。 このコードを実行すると、以下のように出力されるようにしてください。 ----------------------------------------------------------------------------------------------------------- Z:> java [作成したプログラム名] 文字列を入力してください [Returnキー] Car [Returnキー] Carには文字aが含まれます。aは1番目にあります。 ----------------------------------------------------------------------------------------------------------- (ヒント:Stringクラスと、StringクラスのindexOfメソッドを使います). 今すぐ教えていただきたいです!!!!基礎もまだわからずです。 おねがいします。
883 :
デフォルトの名無しさん :2006/01/25(水) 16:03:14
884 :
デフォルトの名無しさん :2006/01/25(水) 16:11:34
ないです。お願いします!
885 :
デフォルトの名無しさん :2006/01/25(水) 16:10:01
>>882 こんなんでいいのか?
import java.io.*;
public class java {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("文字列を入力してください");
String s = br.readLine();
int num=s.indexOf("a"); // 文字列sの何番目にaがあるかを判定。なかった場合戻り値は-1。
if(num>=0){
System.out.print(s+"には文字aが含まれます。aは"+num+"番目にあります。");
}
else{
System.out.print(s+"には文字aが含まれていません。");
}
}
}
886 :
デフォルトの名無しさん :2006/01/25(水) 16:14:32
ないのか。 んじゃ、if文消してくれ。それくらいはわかるだろ。
887 :
デフォルトの名無しさん :2006/01/25(水) 16:21:16
>>885 ありがとうございます!本当にありがとう!実行できました。
あと何問かあるんですけどいいですか?
888 :
デフォルトの名無しさん :2006/01/25(水) 16:33:29
実は仕事中だから時間があればな。 俺はプログラマなのに実はプログラミング歴三ヶ月だから、答えられないものは答えられん。
889 :
デフォルトの名無しさん :2006/01/25(水) 16:34:31
キーボードから2つの整数を読み取り、その和を出力するコードを作成して ください。 このコードを実行すると、以下のように出力されるようにしてください。 ---------------------------------------------------------------------------------------------------------- Z.> java [作成したプログラム名] 整数を2つ入力してください 5 [Return キー] 10 [Return キー] 5と10の和は 15 です。 ---------------------------------------------------------------------------------------------------------- (ヒント:Mathクラスを使います) おおおお願いします!!!かなり急ぎです!!
890 :
デフォルトの名無しさん :2006/01/25(水) 16:37:19
三ヶ月でそんなにできるようになったんですか!? まじ尊敬します!!
頑張れ
>>888 !!
Mathクラスときたぞ!?
ぜんっぜん意味わからん
892 :
デフォルトの名無しさん :2006/01/25(水) 16:41:28
>>889 初歩すぎるだろ。後で理解しとこうな。
import java.io.*;
public class java {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("整数を2つ入力してください");
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
System.out.print(a+"と"+b+"の和は "+(a+b)+" です。");
}
}
なにやってんだ! Mathクラスを使うんだ! 誰もIntegerとparseInt()使えなんて言ってない!
894 :
デフォルトの名無しさん :2006/01/25(水) 16:42:51
あ、すまん。Mathクラスなんて使ってないわ。
895 :
デフォルトの名無しさん :2006/01/25(水) 16:43:16
そうですか でもありがとうございます!
>>891 のおかげで
1問救われました!
本当ありがとうございました お仕事お疲れさまです!
ってゆーかMathクラスを使ってどうやるのかむしろ教えてください
>>895 もうわかったから無駄なレスしないで下さい。邪魔です。
891は仕事してないよ
899 :
デフォルトの名無しさん :2006/01/25(水) 16:49:54
絶対にMathクラスじゃなくてIntegerクラスの間違いだと思うんだがな。
numは表示の時に+1しないとまずいと思われ
901 :
デフォルトの名無しさん :2006/01/25(水) 16:56:52
【 課題 】キーボードから入力された2つの数値で四則演算を行うプログラムを作成せよ。 ただし、クラスの継承を用い、なるたけ効率的なプログラムを組むようにすること。 【 期限 】今日中にお願いします 【 Ver 】1.4 【 補足 】丸投げです
902 :
デフォルトの名無しさん :2006/01/25(水) 16:58:02
>>900 例題の通り↓にやったからいいんじゃないか?
>Carには文字aが含まれます。aは1番目にあります。
ありゃ、例題があったのね。スレ汚しスマン
904 :
デフォルトの名無しさん :2006/01/25(水) 17:01:52
>>901 よくわからん。
2つの数値を入力したら四則演算全ての値を表示するのか?
たとえば1→2と入力したら
「和は3 差は-1 積は2 商は0.5」 と言った感じで入力した順に計算して表示されるようにすんの?
906 :
デフォルトの名無しさん :2006/01/25(水) 17:09:26
>>904 説明不足ですみません
おっしゃるとおりです
2つの数値を入力したら
「和は○、差は○、積は○、商は○」のように四則演算全ての計算を順番に表示するプログラムです
あと、0除算や数値以外の入力に対するエラー処理も含めるように言っていました
主に口頭での説明だったので説明不足になってすみません
てゆーか何クラス継承せいっちゅーねん
クラス継承してやるような問題か?
あと、計算結果は小数点以下も含むのか。 もしくは数値入力も少数を含むのか、など。
とりあえずJFrameでも継承しとくか
Thread継承して計算を平行してやるか?
912 :
901 :2006/01/25(水) 17:21:59
ほんとに説明不足ですみません・・・。ごめんなさい クラスの継承を習ったばかりなので使えと言ったのだと思います ほんとに効率的なのかどうかはわかりません 数値入力も計算結果も整数でお願いします
913 :
デフォルトの名無しさん :2006/01/25(水) 17:24:19
問題・下記のプログラムにより「Doja」から「MIDP」へ移植せよ! 〜Doja〜 [ public void readQA(){ // ------------------------------- 問題文をリソースから読み込み int d; try { InputStream is = Connector.openInputStream("resource:///QAin03.txt");//問題と解答 InputStreamReader isd = new InputStreamReader(is,"SJIS"); BufferedReader br=new BufferedReader(isd); String s; for (d = 0; d <10; d++){ if ((s=br.readLine()) ==null) break; ques[d]=s; if(s.length() == 19)le[d] = le[d] + s.length() / 19; else le[d] = le[d] + s.length() / 19 + 1; if ((s=br.readLine()) ==null) break; ames[d][0]=s; if ((s=br.readLine()) ==null) break; ames[d][1]=s; if ((s=br.readLine()) ==null) break; ames[d][2]=s; }for (d = 0; d <10; d++){ if ((s=br.readLine()) == null) break; ans[d]=Integer.parseInt(s); }is.close(); }catch (IOException e) { } } です。教えてください・・・ToT
914 :
デフォルトの名無しさん :2006/01/25(水) 17:25:47
↑ MIDPの場合はBufferedReader使えないので、他の方法はありますか?
>>901 のってポリモルフィズムでも使えって事なんかね。
import java.awt.*; import java.io.*; import javax.swing.*; class Sample extends JFrame{ public static void main(String srgs[])throws IOException{ Sample frame = new Sample("Sample"); frame.setBounds(20,10,480,320); frame.setVisible(true); int x,y; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("整数1個め:"); x = Integer.parseInt(br.readLine()); System.out.print("整数2個め:"); y = Integer.parseInt(br.readLine()); System.out.println("和:"+(x+y)+"\n差:"+(x-y)+"\n積:"+(x*y)+"\n商:"+((double)x/y)); } public Sample(String title){ super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } は〜いJFrame継承したよ〜
917 :
デフォルトの名無しさん :2006/01/25(水) 18:04:25
java3dでファイル操作をしたいのですが、いまいちわかりません。 座標(x,y,z)を入力したメモ帳を用意して、その座標に球を置くという ものです。で最終的には、座標を1万と作り、その座標に球(1万個) を置きたいのですが…。誰か教えてください。
918 :
デフォルトの名無しさん :2006/01/25(水) 18:23:42
ノードA,Bに対する初期確率ベクトル、推移確率行列が次のように与えられたとき、 3年後、5年後の確率を求めるプログラムをjavaで組みなさい。 初期確率ベクトル q(0)={1,0} 推移確率行列 A B 0.6 0.4 P= { } ※Pは2×2の行列です。 0.7 0.3 です。期限は2月5日です。 なんかfor文と配列使ってやるらしいのですが 全くわからないのでお願いします。
推移確率うんちゃらなんて知らぬ
>>901 かなり適当。
商がどうにもおかしいからdouble変換したらArithmeticExceptionが機能しないでやんの。
仕方ないから、無意味な式が一つ入ってる。
import java.io.*;
public class java {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
int a=0,b=0;
try{
System.out.print("数値入力[1] : ");
a = Integer.parseInt(br.readLine());
System.out.print("数値入力[2] : ");
b = Integer.parseInt(br.readLine());
}catch(NumberFormatException e){
System.out.print("不正な文字が入力されました");
System.exit(0);
}
Calc[] c = new Calc[4];
c[0] = new Plus();
c[1] = new Minus();
c[2] = new Mul();
c[3] = new Div();
for(int i = 0; i<c.length; i++){
c[i].getCalc(a,b);
}
}
}
921 :
デフォルトの名無しさん :2006/01/25(水) 18:26:46
918です。ちょっと行列が見にくいので修正します。 A B 0.6 0.4 P= { } 0.7 0.3
>>920 の続き
abstract class Calc{
void getCalc(int a, int b){
}
}
class Plus extends Calc{
void getCalc(int a, int b){
System.out.print("和は"+(a+b)+", ");
}
}
class Minus extends Calc{
void getCalc(int a, int b){
System.out.print("差は"+(a-b)+", ");
}
}
class Mul extends Calc{
void getCalc(int a, int b){
System.out.print("積は"+(a*b)+", ");
}
}
class Div extends Calc{
void getCalc(int a, int b){
try{
int x = a/b;
System.out.print("商は"+((double)a/b)+", ");
}catch(ArithmeticException en){
System.out.print("0除算例外");
}
}
}
abstractは別に入れなくても良い。
やるならこうだった。失礼。 abstract class Calc{ abstract void getCalc(int a, int b); }
925 :
デフォルトの名無しさん :2006/01/25(水) 18:37:40
918です。ちょっとわかりにくいので この行列の掛け算をできるソースお願いできますか? 0.6 0.4 3 {1.0}{ } ※3は3乗という意味。 0.7 0.3
926 :
デフォルトの名無しさん :2006/01/25(水) 18:38:11
927 :
デフォルトの名無しさん :2006/01/25(水) 18:49:22
↓これお願いします javaをつかってインスタンスを作る方法を3通り述べよ
928 :
デフォルトの名無しさん :2006/01/25(水) 19:04:18
>>927 1. new を使う
2. clone()メソッドを使う
3. リフレクションAPIを使う
>>880 // Client.java
package P880;
import java.net.Socket;
import java.io.*;
public class Client {
private static final int PORT = 12335;
public static void main(String[] args) {
int a, b, c;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
DataInputStream dis;
DataOutputStream dos;
Socket s = null;
if (args.length != 1) {
System.err.println("ホスト名を入力してください");
System.err.println("Usage: java Client ホスト名");
System.err.println("終了します");
System.exit(1);
}
do {
try {
a = readNumber(br);
b = readNumber(br);
s = new Socket(args[0], PORT);
dis = new DataInputStream(s.getInputStream());
dos = new DataOutputStream(s.getOutputStream());
//つづく
>>880 つづき
dos.writeInt(a);
dos.writeInt(b);
c = dis.readInt();
System.out.println("計算結果は" + c + "です");
} catch(Exception e) {
System.err.println("なんかエラーだって(・∀・)");
} finally {
try {
if (s != null) s.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
}
} while(isUserWillingToContinue(br));
try {
if (s != null) s.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
System.out.println("終了します");
}
private static boolean isUserWillingToContinue(BufferedReader br) {
String str;
System.out.print("続けますか?(y/n) > ");
try {
str = br.readLine();
if (str != null && str.toUpperCase().equals("Y")) return true;
} catch(IOException e) {
// つづく
>>880 System.err.println("なんかエラーっぽい");
e.printStackTrace();
return false;
}
return false;
}
private static int readNumber(BufferedReader br) throws IOException, NumberFormatException {
System.out.print("数値を入力してください> ");
return Integer.parseInt(br.readLine());
}
}
// ここまで Client.Java
// Server.java
package P880;
import java.net.Socket;
import java.net.ServerSocket;
import java.io.*;
public class Server {
public static final int PORT = 12335;
public static void main(String[] args) {
ServerSocket ss = null;
Socket s = null;
try {
ss = new ServerSocket(PORT);
for (;;) {
s = ss.accept();
new ServerThread(s).start();
//つづく
>>880 }
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
} finally {
if (s != null) {
try {
s.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
}
}
}
}
class ServerThread extends Thread {
private Socket s = null;
ServerThread(Socket s) {
this.s = s;
}
public void run() {
DataInputStream is = null;
DataOutputStream os = null;
int a, b, c;
try {
is = new DataInputStream(s.getInputStream());
os = new DataOutputStream(s.getOutputStream());
a = is.readInt();
b = is.readInt();
//つづく
>>880 c = a + b;
os.writeInt(c);
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
} finally {
try {
if (is != null) is.close();
if (os != null) os.close();
} catch (IOException e) {
System.err.println("なんかエラーだって(・∀・)");
e.printStackTrace();
}
}
}
}
//ここまでServer.java
コンパイル
$ javac Client.java
$ javac Server.java
サーバーの実行
$ java P880.Server
クライアントの実行
$ java P880.Client localhost
サーバーの終了方法はプロセスのキルで行う。(Ctrl-Cを入力する、など)
//以上
934 :
デフォルトの名無しさん :2006/01/25(水) 20:00:43
917の問題はどうですか?
935 :
デフォルトの名無しさん :2006/01/25(水) 20:02:31
間違えますた。 <<913 の問題はどうですか???
>934 ”マルチポストは氏ね” 以上が解答だ。
937 :
901 :2006/01/25(水) 20:49:00
>>920 ありがとうございました。ちゃんと動作しました
938 :
866 :2006/01/25(水) 21:22:02
今日はえらく盛況ですな。新規の書き込みが71件もある。 > 質問者 テンプレ使ってください。作った意味がないので。 ^^^^^^^^^^^^^^^^^^ > 回答者の方々 自分の整理の意味も兼ねて、やり残しリスト貼っておきます。 >869 >870 >871=>872 >874-875 >879 >913(マルチ?) >917 >876=>877=>918=>921=>925(とりあえず>925に答えれば良い) で、>925。 >866を参考にしてmainメソッド変えて動かせませんか?
>874-875
// j10_2.java
import java.io.*;
import java.net.URL;
class j10_2 {
public static void main(String args[]) {
BufferedWriter bw = null;
BufferedReader br = null;
try {
File outputFile = new File("internal.html");
if( !outputFile.createNewFile() ) {
throw new IOException( "出力ファイルの作成に失敗しました。ファイルがもうあるとかかも。" );
}
bw = new BufferedWriter( new FileWriter(outputFile) );
URL url = new URL( "
ttp://www.yahoo.com/index.html " ); // URLの頭にhつけて。
br = new BufferedReader( new InputStreamReader( url.openStream() ) );
for( String buf; (buf=br.readLine()) != null; ) {
bw.append( buf + "\n" );
bw.flush();
}
System.out.println( outputFile.getName() + "に出力しました。" );
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if( br != null ) br.close();
if( bw != null ) bw.close();
} catch( IOException ioe ) {}
}
}
}
940 :
878 :2006/01/25(水) 22:07:11
>>881 ありがとうございます。
実行したらうまくいきました。
>>879 もうすこし条件を教えてほしい
たとえば次の場合はどういう結果になればいいの?
(1) ダブルクォートが閉じていないとき
例1:a,"b,c
(2) ダブルクォートとカンマが入れ子になっているとき
例2:"ab,c"d
(3) ダブルクォートが三つ以上連続しているとき
例3-1:""",
例3-2:""","
942 :
マイト :2006/01/25(水) 22:52:47
課題<金曜まで> パネル2つ 右にコンボボックス、左のほうではマウスイベントを使えるようにする お願いします
>942 テンプレ使ってください。 ^^^^^^^^^^^^^^^^^^
>>941 すみません、問題にこれしか書いていないのでその条件下でどうなればいいか判らないです。
申し訳ありません。
946 :
941 :2006/01/26(木) 12:16:23
てすと
テステス
test
testing
test
テスツ
test
1000
955 :
デフォルトの名無しさん :2006/01/26(木) 16:42:14
【 課題 】 レポートの作成方法 EightQueen.java.doc を参考に各自の環境でプログラムをコンパイル、実行できるようにしてください。 コンパイルが成功して答えが出力される事を確認したら、次の改造を行ってください。 1、プログラムの動作を理解してください。 2、答えの出力に失敗した表示が行われていますが、この行が表示されないようにしてください。 3、4x4マスの答えが出力されているプログラムを8x8マスの答えが出力できるように改造してください。 4、プログラム中の変数の説明で /* ? */ と書かれている場所がありますので、この変数の意味を表す文書をこのコメントの中に記入してください。 5、プログラムがパズルを解く仕組みを解説してください。 【 期限 】1/27 【 補足 】3まではなんとか出来たけどその後がさっぱり・・・当方経済学部なので何がなにやらさっぱりです。
956 :
たすけt :2006/01/26(木) 16:43:33
突然ですが、誰か宿題お願いできますでしょうか。 アドバイスとかでも構いません 【 課題 】入力ファイル名をキーボードから入力し、入力ファイルに出現する平仮名(あ〜ん)の出現頻度..出現回数又は出 現する割合を求めて表示するプログラムを作成せよ。入力ファイルに平仮名以外の文字が含まれている場合、それ らの文字は無視してよい。 =例= 入力ファイル ぃぃいうううんん 出力結果 あ:0 ぃ:2 い:1 ぅ:0 う:3 ・ ・ ・ ん:2 【 期限 】1月30
957 :
& ◆YKECQrA4w2 :2006/01/26(木) 16:44:12
【 補足 】途中までの経過報告 import java.io.*; class count{ public static void main(String[] args){ try{ FileReader fr = new FileReader(args[0]); int a[]; a = new int[81];//あ〜ん までの82個を作成 int c;//データの文字 while((c = fr.read()) != -1){ if(12354<= c){//この辺りからわかりません;; if(c<= 12435){ a[c-12354] = a[c-12354]+1; } } } fr.close(); }catch(Exception e){} } }
>>955 ぶっとばしていい?
EightQueen.java.docがわかんねーよ
959 :
955 :2006/01/26(木) 16:50:30
皆さんVIPPERが来ましたよ!m9っ`・ω・´)
961 :
955 :2006/01/26(木) 17:01:12
VIPPERじゃないです。たまに覗いたりはしますが。 卒業がかかってるのです・・・就職も決まってます。 ホント誰か助けてください・・・
國學院大學乙 t***8576って学籍番号?
test
test
test
966 :
マイト :2006/01/26(木) 20:33:00
test
test
test
>>966 なにがわからんのかわからん
ふつうに実行できるが
test
test
test
新スレたててくるー。
976 :
975 :2006/01/26(木) 21:10:38
「新このホストでは、しばらくスレッドが立てられません。 またの機会にどうぞ。。。」 鬱。。
ぎゃははー。
ほあっ。
979 :
956 :2006/01/26(木) 21:30:32
実行できました ありがとうございます
980 :
デフォルトの名無しさん :2006/01/26(木) 21:44:56
982 :
デフォルトの名無しさん :2006/01/26(木) 22:10:02
【 課題 】キーボードより入力したstrを8進数のアスキーコードに変換する方法を教えて下さい 【 期限 】明日 【 補足 】
test
ttest
test
986 :
デフォルトの名無しさん :2006/01/26(木) 22:21:20
【マウスで絵を描く】
【 課題 】画面分割
>>980 みたいな感じ、コンボボックスを右、左でマウスで
絵をかけるようにするコンボボックスは2つ用意し線の太さ、色を
変更する
【 期限 】来週土曜
【 補足 】とにかく、エラーがなく上で書いたことができればOKです。
色は3色くらい、線の太さも3種類くらいでお願いします
987 :
デフォルトの名無しさん :2006/01/26(木) 22:22:46
画面をクリックしたらその場所に絵が表示されるJavaScriptってありますか? 調べたけれど見つからなかったので・・・・。 1週間後提出の課題で使おうと思っているのですが。
test
test
test
test
994
995
996
997
998
999 :
999 :2006/01/27(金) 01:38:27
999
1000 :
デフォルトの名無しさん :2006/01/27(金) 01:39:24
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。