★★ Java の宿題ここで答えます Part 56 ★★
1 :
デフォルトの名無しさん :
2006/04/19(水) 20:46:27 【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/1138281809/
2 :
デフォルトの名無しさん :2006/04/19(水) 20:49:03
やった!ウンコ様が2げっとだ!!お前等ウンコ様にひれ伏せ!クソ共が!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
人
(_)
(___)
(,,・∀・)
( O┬O
≡ ◎-ヽJ┴◎ キコキコ
>>1 糞スレにも満たない下痢スレたてんな!
>>3 氏ねビチグソ野郎!
>>4 おせーよ便秘!
>>5 糞レスつけんな!
3 :
デフォルトの名無しさん :2006/04/19(水) 21:26:55
[課題] ●サイズは640x400 ●格子の間隔は20ピクセル ●円の直径は20ピクセル の条件で長方形のアプレットの中で縦、横に直線を引いてその交点を中心 とした円を横に16個、縦に10個の円を描くJAVAプログラム [その他]JAVAなら何でも良いです。
4 :
デフォルトの名無しさん :2006/04/19(水) 21:50:41
■丸投げが好ましい理由 何故「丸投げ」が好ましいのかと言うと、人のソースを読んで それに修正を加えるのは、一から書くのより数倍大変になるのですね。 だから、少しでも自分でプログラムを書いてそれから出そうとするのは 余計なお節介どころか、絶対やって欲しくないお節介になってしまうのです。
6 :
デフォルトの名無しさん :2006/04/19(水) 22:48:26
課題:コマンドライン引数に負の値が含まれている場合に、独自の例外を生成するプログラムを作れ。 途中まで作ったのがありますので、それを元にお願いできますでしょうか? import java.util.*; class Kadai{ publicstatic voidmain(String args[]){a();} static void a(){try{b();} catch(Exception e){e.printStackTrace();} } static void b() throws ExceptionA{ try{c();} catch(ExceptionB e){e.printStackTrace();} } static void c() throws ExceptionA,ExceptionB{ int a = Integer.ParseInt(args[0]); if(a < 0){throw new ExceptionA("We have a -");} else{throw new ExceptionB("We have a +");} }} class ExceptionA extends Exception{ public ExceptionA(String message){super(message);} } class ExceptionB extends Exception{ public ExceptionB(String message){super(message);} } 前スレからですが、よろしくお願いいたします。
>>1 のテンプレぐらい見てから質問してもらえるかな?
8 :
デフォルトの名無しさん :2006/04/19(水) 22:57:50
>5 本当感謝です、有難う御座います。
>>6 ここまで滅茶苦茶なプログラムもどきみると新入生の季節だと実感するな
10 :
デフォルトの名無しさん :2006/04/20(木) 00:04:02
【 課題 】文末の全角スペースと半角スペースを除去する [ 123456 ] → [ 123456] 【 期限 】できれば明日一杯 【 補足 】ループ回して後ろから判定して削除してくとコストかかり過ぎなので 極力負荷をかけずに処理したいです。正規表現?
正規表現の方が遥かにコストかかってる バックから削除するのが最もコストが低い
コストって何のコストだって話だけど
JVMの中の人の人件費
単位
前スレの936,953です。返信遅くなって申し訳ありません。 >InputIFの戻り値がdoubleである意味 についてですが、私もよく分かってません。 時があれば講師に聞きにいきたいと思ってますが、 今はとりあえずインターフェースのクラスも気にせずに作っていただいても、 InputIFの内容を変えてやっていただいても構いません。 よろしくお願いします。
16 :
6 :2006/04/20(木) 04:45:45
すいません。 それでは丸投げしますのでお願いできますでしょうか。 課題:コマンドライン引数に負の値が含まれている場合に、独自の例外を生成するプログラムを作れ。
>>16 public class T56_6 {
public static void main(String[] args) {
for(int i=0; i<args.length; i++) {
try {
if (Integer.parseInt(args[i]) < 0)
throw new TestException("args["+i+"]("+args[i]+") が 負の数値です");
} catch (NumberFormatException nfe) {
throw new TestException("args["+i+"]("+args[i]+") が 数値ではありません");
}
}
}
}
class TestException extends IllegalArgumentException {
TestException(String msg) { super(msg); }
}
もしかして>10は正規表現を知りたかったのかな?
正規表現ってこんな感じか "[ | ]+$" いや詳しくは知らないけど
20 :
デフォルトの名無しさん :2006/04/20(木) 15:16:48
[課題] ●サイズは640x400 ●格子の間隔は20ピクセル ●円の直径は20ピクセル の条件で縦、横に640x400の範囲内に引きうる限りの直線を縦横に描きそれぞれの格子内に 円の直径は20ピクセル の円を描写するアプレットプログラムお願いします。JAVAなら何でもオッケイです。
東北大学て馬鹿ばっかりなのかね
前スレ959です。937さん、ありがとうございました。
25 :
6 :2006/04/20(木) 17:33:38
>>17 ありがとうございます。
朝早くからすみませんでした。
>>20 トンペーとして恥ずかしくないの?
一部の奴がこういうことして評判が下がり、周りに迷惑かけてるのわかってんのか?
お前学校辞めたほうがいいよ。
くたばれ。その程度の問題もできないやつは。
29 :
デフォルトの名無しさん :2006/04/20(木) 20:48:36
>>22 今日実行したのですが"width"が原因で実行出来ませんでした。
>>29 //<applet code="AppTest2.class" width640 height=400></applet>
width640のwidthと640の間に = を入れても動かないのか?
オレは実行してないから知らんが
一度答えたら毎回ここで答えねだる奴が来そうな予感
32 :
デフォルトの名無しさん :2006/04/20(木) 21:57:12
33 :
デフォルトの名無しさん :2006/04/20(木) 23:32:32
>>30 動く動く、それで動く
俺は、まだアプレット触れるレベルではない
JAVA初心者だけど、昨日このページ見てリンク見て
「どういう物が映し出されるのだろうと」思って試してみた
そんで、width640の間に=が足りないから表示しないって
事は、一回試しただけですぐわかった。
もう、例外やらマルチスレッドやら入出力すっとばして
アプレットで、ウィンドウ表示とかボタンとか作って
わーいわーいって楽しもっかな・・・・・
楽しもっかなじゃねぇよ、死ね俺。
5回くらい死ね。
3回ぐらいにしとけ
(´д`)?
36 :
5=30 :2006/04/21(金) 00:10:38
>>33 よく分からんがオレ自体初心者。あれ(
>>5 )が初めて書いたアプレットだ。
37 :
デフォルトの名無しさん :2006/04/21(金) 01:14:02
おい皆さん。 対象文字列がShift_JISなのかEUC_JPなのかUTF-8なのかを 判別したいんですが、文字コードって難しくてどう書いたらいいか解りません。 バイト配列にして範囲比較で判別?どうすればいいんだ?
Java質問スレで聞け
補足するとJAVAの質問ではないよ ただの文字コード判定方法の問題
40 :
デフォルトの名無しさん :2006/04/21(金) 10:54:01
時間が02時02分02秒と表示されるプログラムを作れって問題なんだけど時間や分、秒のところを10以下なら1のくらいに0を表示するプログラムはどう作ればいい?始めから分からんからできれば始めから頼む…〇| ̄|_
テンプレ通りじゃない質問はスルー
>>40 これで文句があるならテンプレに従え
import java.util.Date;
public class ShowDate {
public static void main(String[] args) {
System.out.println(
new SimpleDateFormat("hh時mm分ss秒").format(
new Date()));
}
}
43 :
デフォルトの名無しさん :2006/04/21(金) 14:25:46
課題 指定されたデータから降雨データを読み込み配列に格納するコンストラクタと、 下記の統計量をメソットを持つRainFall クラスを作成しなさい。例外処理も追加で作りなさい。 授業の課題で困っています。誰か教えて下さい。 public class RainFallTest{ //動作確認用プログラム public static void main(String[]arg){ RainFall rf = new RainFall("rain.dat"); System.out.println(rf.size()); System.out.println(rf.valueAt(3)); System.out.println(rf.sum()); System.out.println(rf.ave()); System.out.println(rf.var()); System.out.println(rf.rf.sd()); } } /*rain.dat 最大でも366個まで 21 41 24 35 51 54
44 :
43 :2006/04/21(金) 14:28:02
追加 import java.io.*; public class RainFall{ private int sz; public RainFall(String fileName) throws IOException,NumberFormatException{ FileInputStream fis = new FileInputStream(fileName); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); //配列の実体を作成して変数に代入する int i=0; String s; while((s=br.readLine())!=null){ //配列へのデータの格納を入れる } sz=i; } public int size(){//データ数を int で返す } public double valseAt(int index){ //先頭からの位置を index で指定されたデータの値を double で返す } public double sum(){ //データの総和 } public double ave(){ //データの平均 } public double var(){ //データの分散 } public double sd(){ //データの標準偏差 } }
>>43 import java.io.*;
public class RainFallTest{
public static void main(String[] args){
try{
RainFall rf = new RainFall("rain.dat");
System.out.println(rf.size());
System.out.println(rf.valueAt(3));
System.out.println(rf.sum());
System.out.println(rf.ave());
System.out.println(rf.var());
System.out.println(rf.sd());
}catch (IOException ex){
System.out.println("入出力例外");
}catch (NumberFormatException ex){
System.out.println("フォーマットが違います");
}catch (Exception ex){
ex.printStackTrace();
}
}
}
>>44 class RainFall{
private int sz;
private double[] data;
private static final int DATA_MAX = 366;
public RainFall(String fileName) throws IOException, NumberFormatException{
FileInputStream fis = new FileInputStream(fileName);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
int i = 0;
String s;
data = new double[DATA_MAX];
while ((s = br.readLine()) != null){
data[i++] = Double.parseDouble(s);
}
sz = i;
}
public int size(){
return sz;
}
public double valueAt(int index){
return data[index];
}
public double sum(){
double sum = 0;
for (int i = 0; i < sz; i++)
sum += data[i];
return sum;
}
>>44 public double ave(){
double sum = 0;
for (int i = 0; i< sz; i++)
sum += data[i];
return sum/sz;
}
public double var(){
double sum = 0;
double ave = 0;
for (int i = 0; i < sz; i++)
ave += data[i];
ave /= sz;
for (int i = 0; i < sz; i++)
sum += (Math.abs(data[i] - ave) * Math.abs(data[i] - ave));
sum /= sz;
return sum;
}
public double sd(){
double sum = 0;
double ave = 0;
for (int i = 0; i < sz; i++)
ave += data[i];
ave /= sz;
for (int i = 0; i < sz; i++)
sum += (Math.abs(data[i] - ave) * Math.abs(data[i] - ave));
sum /= sz;
return Math.sqrt(sum);
}
}
48 :
デフォルトの名無しさん :2006/04/21(金) 20:14:44
BASICで書かれた以下のプログラム(凝集体です)をJAVAで書かなければならないのですが、 BASIC自体やったことがないので、どこをどう置き換えればいいのかも全くわかりません。 JAVAでこれと似たようなものができればいいと思うのですが・・・ どうぞよろしくお願いします。 --- CLS 3 SCREEN 2 P=320 : Q=200 R0=5 PSET(P,Q) *MAIN R=R0*2 RMAX=R0*3 RX=INT((2*R+1)*RND)-R RV=R-ABS(RX) RY=RV*SGN(RND-.5) X=RX+P : Y=RY+Q *LOOP XB=X : YB=Y DISTR=ABS(X-P)+ABS(Y-Q) IF POINT(X,Y-1)=1 OR POINT(X,Y+1)=1 OR POINT(X-1,Y)=1 OR POINT(X+1,Y)=1 THEN *AGGR
49 :
48 :2006/04/21(金) 20:15:25
続きです IF DISTR > RMAX THEN PRESET(X,Y) : GOTO *MAIN TWD(1)=0 : TWD(2)=0 TWD( INT(2:RND)+1 ) = SGN(RND-.5) X=X+TWD(1) : Y=Y+TWD(2) PRESET(XB,YB) : PSET(X,Y) GOTO *LOOP *AGGR PSET(X,Y) IF DISTR > R0 THEN R0=DISTR GOTO *MAIN ---
50 :
デフォルトの名無しさん :2006/04/21(金) 23:34:50
宿題出した奴にそのこと伝えたか? 知らないことはできないだろ 調べて解く宿題ならここで聞くな
自分で少しも調べようとしない奴はスルーすればいいんだよ
52 :
48 :2006/04/22(土) 01:09:48
48です。
>>50 伝えはしましたが、BASICの本を一冊渡されただけでした。
その本で色々と調べてはみましたが、具体的にどうすればいいか、という感覚が掴めないままです。
具体的な数値は、一例としてBASICで書かれたプログラムを参考にしてみましたが、
根本的なことがまずわかっていないということと、課題の締め切りがすぐなので焦ってしまい、
すがる思いで書き込みしてしまいました。軽率だったと反省しています。
お目汚し、大変失礼しました。
BASIC分かんないからイライラしてるだけだろ
55 :
デフォルトの名無しさん :2006/04/22(土) 15:19:18
>>40 ,42
import java.text.SimpleDateFormat;
土日なのに宿題聞くやつ居ないな
月曜の朝に「期限:今日の13時」って来るんじゃね?
58 :
デフォルトの名無しさん :2006/04/23(日) 21:30:43
今期からJAVAを勉強し始めて最初の課題なのですが未だによく理解できないので 助けていただけると幸いです。 @public class list2 public static void main(Stringarg[]) System.out.println(“Welcometo Programming 2 course!”); } } 上記のプログラムに ● 名前の付け方を工夫する ● プログラムの途中に、気の利いたコメントをつける コメントの付け方: // ● 文の先頭を処理の単位で「字下げ」(インデント)をつける ソースコード min.java に、後からこのプログラムの要点がわかるようコメントを付けよ という処理をするのだそうなのですが理解が足りないので分かる方 よろしくお願いします。。
60 :
デフォルトの名無しさん :2006/04/23(日) 21:43:32
課題: ● Comparable による順序付けに従って,配列の中 から最大の要素の位置を見つけるクラス Chooser を書きなさい.必要なメソッドは次のとおり. ● また,下記のMainクラスと一緒にコンパイル して,正しく動くことを確認しなさい. class Chooser { public static int maxpos(Comparable[] x) { // 配列x の中で最大の要素の位置(最大の要素が複数 // あった場合は最初の位置)を返す } } ● Mainクラスの内容 class Main { public static void main(String args[]) { Integer[] x = {12,34,21,56,32,7}; String[] y = {"this","is","an","aardvark","in","the","zoo"}; int xm = Chooser.maxpos(x); System.out.println("xの最大値は"+x[xm]+",位置は"+xm); int ym = Chooser.maxpos(y); System.out.println("yの最大値は"+y[ym]+",位置は"+ym); } }
62 :
デフォルトの名無しさん :2006/04/23(日) 21:59:26
>>59 申し訳ないです、教科書は5月に販売になっているので
まだ手に入らない状況です・・
提出が明日なのでどうにかお願いできないでしょうか?
>>60 public static int maxpos(Comparable[] x) {
int max = 0;
Comparable c = x[0];
for (int i = 0; i < x.length; i++){
if (c.compareTo(x[i]) < 0){
c = x[i];
max = i;
}
}
return max;
}
>>62 ネットでJava入門のサイトなんていくらでもある
下衆野郎に答えて損したわ
67 :
デフォルトの名無しさん :2006/04/23(日) 22:21:23
>>66 だいぶ切羽詰ってたからスレ精神に反する事してしまって済まん、本当に感謝です。
69 :
58 :2006/04/23(日) 22:32:03
入門サイト等見てみましたがある程度わかってないとわからないような 内容ばかりでした・・本当にお願いできないでしょうか;
>>69 お前の足りない理解を補完できる人間など居ない
● 名前の付け方を工夫する
相応しいクラス名を付けれ
● プログラムの途中に、気の利いたコメントをつける
コメントの付け方: //
コメントでプログラムで何の処理をしているのかを書け
● 文の先頭を処理の単位で「字下げ」(インデント)をつける
見やすいようにタブでもうっとけ
それにしてもこんな糞課題出すヤツの顔が見てみたいわ
72 :
デフォルトの名無しさん :2006/04/23(日) 22:49:35
>>58 どうしても分からなかったら
//(昨日聞いたコント)
その場が和むか一年間針の筵に座ることになるかは分からん
74 :
58 :2006/04/23(日) 22:53:14
ありがとうございます。
あと1時間くらいあるので
>>70 さんのアドバイスで少し考えて見ます。
75 :
48 :2006/04/23(日) 23:14:57
>>54 >>48-49 のBASICのプログラムは書籍に載っていたものです。
お手数をおかけしてすみませんでした。
翻訳して頂けてすごく助かりました。本当にありがとうございました。
>>60 伊藤さんにメールで通報しといたからな。
プログラミングBだけじゃなく今セメスターの単位全部落とすかもな。
あーあやっちまったな。
誰だか特定できるん?
ここの解答のまま提出したんなら、教授がこのスレのと比較して特定できるだろう
>>78 すでに課題1で2chと同じ回答をそのまま提出したアフォがいる模様。
テストをカンニングしたんなら当該セメスターの単位全落ちだろうけど 宿題写したからって全落ちはないだろ
カンニングって普通退学じゃないの? 単位全落ちで済むんだ
まあ、まだこの時期だし、数ある小テストのうちの一つみたいなもんだろ? 学校の程度や、教授の性格、生徒の態度次第だと思うが・・・
>>80 バーロー。
プログラミングBは形式的なテストがねーんだから、
課題がテストと同義ってとらえるのが普通だろ。
全単位落とさなくてもプログラミングBは落ちて当然だよな?
もしかしたら・・・ってこと。
>>81 俺もそれが普通と思うんだがなぜかそうじゃないみたいだな。
結局退学かどうかは学長の裁量だろ 万引きですら初犯ならということで警察呼ばないときも多いらしいし
そんなにびびらしたら、もう誰も質問にこなくなっちゃうじゃないかw
いいんじゃない?
87 :
デフォルトの名無しさん :2006/04/24(月) 14:57:43
・課題1 二分探索の実行過程・実行ステップ数を調べるプログラムを作りたい。 ひな形プログラム中の次の各メソッドを完成させよ。完成すると、二分探索の様 子を表示しながら探索を実行してくれるようになる。 1-1:配列の内容を表示するメソッドを完成させよ。 1-2:配列にランダムな値を大小順に代入して初期化するメソッドを完成させよ。 1-3:二分探索を実行するメソッドを完成させよ。 1-4:mainメソッドを完成させ、ソート過程を表示しながら選択ソートを実行するよう にせよ。 1-5:作成したプログラムが正しく選択ソートを実行していることが分かる 実行結果を示し、正しく動作していることを説明せよ。 全然分かりません。 どうかお願いします。
88 :
デフォルトの名無しさん :2006/04/24(月) 14:58:45
雛形プログラムです。↓ class BinarySearch { static intcompare = 0; static void showArray(int a[], int N) { } static void initArray(int a[], int N) { int i; a[0] = 1; } static int find(int a[], int N, int d) { inti; intl = 0; intr = N-1; intc; } public static void main(String args[]) { intN; } }
また鳥取環境大学か
a.lengthのことでしょ
だから何でNなんて使うのかと問いたい
教授がC厨だからじゃねーの?
こんなうんこプログラムを雛形で出す教授に教わる事は無いって叩きつけて来い
95 :
デフォルトの名無しさん :2006/04/24(月) 20:48:59
>>79 何でお前がそんな事知ってるんだ、俺は投稿したやつ知ってるけどそいつに話したら
すげー怒って早速事務に行ったらしいぞ。理由は個人情報を見たとかで事務が至急突き止めるらしいぞ。そいつは
参考までに投稿を利用したらしい。とにかく普通知りえない事を知ってるって事が
問題だって言ってた。たぶん捕まるね。
本人乙
>>95 上のほうで単位全落ちとか退学とかの話が出て怖くなりましたか?wwwww
本当にこんなバカが居るんだな
うちの大学のコマンドプロンプト見ただけで、 ファビョるやつよりはマシかな。
101 :
デフォルトの名無しさん :2006/04/24(月) 21:05:39
院生だなあ
和訳してみた。 誰がどんな提出をしたかなんて個人情報だろ。 何でお前がそんな事知ってるんだ。 宿題を提出した奴にこの事を話したらすげー怒って早速事務に行ったらしいぞ。 普通知りえない事を知ってるって事を事務も問題視していて、至急突き止めると回答したらしい。 警察も動くと思うからたぶん捕まるだろうね。 ちなみに提出した奴は投稿をそのまま答えたんじゃ無く、参考までに利用したらしい。
103 :
デフォルトの名無しさん :2006/04/24(月) 21:09:16
かなり分かりやすい。
参考までに利用したなら
>すでに課題1で2chと同じ回答をそのまま提出したアフォがいる模様。
そのまま提出したって話が嘘になるのになバカだな
>>95
105 :
デフォルトの名無しさん :2006/04/24(月) 21:53:17
笑い話じゃないぞ、2chで成績ばらした奴本当に捕まったから
>>79 も相手の出方次第では・・
別スレ立ててやれば?
個人情報だから他人が知りえないなら、
なぜ
>>95 は投稿したやつ知っている?
そいつが
> 参考までに投稿を利用した
なら、
> 課題1で2chと同じ回答をそのまま提出したアフォ
と別人なのに な ぜ 怒 る ?
他でやれ
お前ら必死になりすぎてバロスwwwwwwww
>>95 はそのまま提出した奴だな。
> 課題1で2chと同じ回答をそのまま提出したアフォ
これは計算機室で話してた奴がいたから知った事実。
だから生徒全員の端末調べても証拠は出てこないんじゃない?
チョット頭が働く奴ならそのまま提出するなんて事しないわな バカは留年してろ
チョット頭が働く奴ならそもそもこんなスレに投げたりしないだろ
そういえば成人式どうした? 新潟は成人式は夏だっけか?
116 :
15 :2006/04/25(火) 01:12:00
前スレの953ですが、どなたか出来てませんでしょうか。 自分でもやってみていたところ、 どうにも上手くいかないので参考にしたいのですが。
953ってなんだっけか
118 :
15 :2006/04/25(火) 01:22:38
119 :
デフォルトの名無しさん :2006/04/25(火) 01:28:55
掲示板に呼び出しw
120 :
デフォルトの名無しさん :2006/04/25(火) 09:53:44
>>115 ありがとうございます。
自分には問題文のおかしいところが分からないのですが・・・?
教えていただけたら調べます。
>>121 1)
public long getMax(){
long max = -1;
if (nElems == 0)
return max;
for (int i = 0; i < nElems; i++)
if (max < a[i])
max = a[i];
return max;
}
2)
public long removeMax(){
int index;
long max = -1;
if (nElems == 0)
return max;
for (int i = 0; i < nElems; i++){
if (max < a[i]){
max = a[i];
index = i;
}
}
for (int i = index; i < nElems -1; i++){
a[i] = a[i+1];
}
nElems--;
return max;
}
123 :
115 :2006/04/25(火) 18:21:30
>120 何をさせたいのかわからん。 探索をするなら1-4、1-5は要らない。 ソートをするなら1-2は大小順では無くランダムに代入させ、1-3は不要だろう。 ソート後探索をするなら1-2は同様にランダムで、1-3は1-4より後にくるべき。 >完成すると、二分探索の様子を表示しながら探索を実行してくれるようになる。 実行されるのはソート。
目的はソート、サーチそのものではなく、 その過程を表示させることだろ?
126 :
125 :2006/04/25(火) 22:17:59
>>118 悪い、早まった
色々バグがあるわ
ちょっと修正する
127 :
デフォルトの名無しさん :2006/04/25(火) 22:51:13
パソコンがぶっこw(ry
129 :
118 :2006/04/25(火) 23:09:13
>>126 お世話かけます。
ぜひともお願いします。
【 課題 】三角形を描きその外部のみを塗りつぶすプログラムを作れ 【 期限 】できるだけ早めでお願いします
131 :
125 :2006/04/25(火) 23:41:40
132 :
118 :2006/04/25(火) 23:53:41
>>125 ありがとうございます。
明日試させていただきます。
134 :
127 :2006/04/26(水) 00:28:38
これは無理でしょうか?
135 :
115 :2006/04/26(水) 01:18:37
>124 ソート過程を表示するには、未ソートの配列が必要なわけだが、1-4の時点では作られ無い。 1-2で作られる配列はソート済みなので、1-2とは別に、未ソートの配列を作成する手順を書く必要がある。 ソート済な配列作成(1-2)→サーチ(1-3)、未ソートな配列作成(1-2とは別に作る)→ソート(1-4)という順番になるわけだ。 だが、ここで1-2の問題を「未ソートな配列作成」と変更し、1-3と1-4を逆にしてみたらどうか。 未ソートな配列作成(新1-2)→ソート(新1-3)→サーチ(新1-4)という順番になり、 配列作成をわざわざ2種類(ソート済と未ソート)書かなくともいい。 という主張だ。 他にもいろいろ変な事はあるが、全体的にちゃんと練られていない印象を受ける。 まるで、サーチとソートの2つの問題を合体させただけのような。 まあ、本当はどうかわからんが。
136 :
127 :2006/04/26(水) 01:23:42
140 :
127 :2006/04/26(水) 18:50:14
申し訳ありませんでした。 アップしましたのでよろしくお願い致します。
141 :
118 :2006/04/26(水) 23:38:41
>>131 今日試してみたところ、無事動きました。
参考にさせていただきます。
ありがとうございました。
142 :
デフォルトの名無しさん :2006/04/27(木) 08:23:33
ここで大学に通報とか書いてるのは、このスレのせっかくの お客さんを潰してどうするんだよ。どうりで最近は盛り上がりに欠けるワケだ。 1年前までは、かなり長大な課題でも回答きてたってのに。 こんな過疎スレは、誰も知らないから質問者の人は遠慮なく、 書き込んでくれ。
4月に長大な課題は出ないと思うけどな・・
バカにはそれが分らんとです
【 課題 】 【 用語 】 【 期限 】 【 Ver 】 【 補足 】 テンプレのこれらを形だけでも全部必須にするべき 課題だけが必須だから本当に課題だけ書くアホが出てくる
このJavaの宿題スレはかなり寛容だなw
さすがにこの時期からカンニング始めてたら既に終わってる
基本ルールにこの項目を加えるべきだろう 6、大学側への通報及びその脅しは厳禁であり、違反者はこのスレへ立ち入りを禁止します。
>>148 禁止って……。
誰が何の権利で禁止するんだ?
禁止して止められるのか?
(゚Д゚)ハァ?
>148 大学への通報だめ?高校へならいいわけだ。
自分の大学のURLそのまま使うバカがいるというのが驚き
>>148 所属大学がばれた奴の発言としか思えんのだが
ばれて困るようなら最初からするなよ
155 :
デフォルトの名無しさん :2006/04/27(木) 21:23:00
チクられて困るなら丸投げするな
チクるもなにも教授が見てるだろ
そうなのか・・?
158 :
デフォルトの名無しさん :2006/04/27(木) 23:10:25
くそ忙しい教授がいちいち2chなんか見てるか?
で、お前ら(職業)プログラマなの?
>158 うちの教授は見てたよ
東北大と鳥取環境大学の教授は見てるらしい
162 :
デフォルトの名無しさん :2006/04/27(木) 23:37:50
下のプログラム(一部抜粋)で、myMain()の中身5行をそのままrun()の中に移すと、 getGraphics()にアクセスできなくなります。 入れ子のクラスからなので、thisキーワードがFrame54クラスを表さなくなるからと思います。 うまい記述を教えてください。プログラムは new Frame54(); で始まります。 class Frame54 extends JFrame{ MyCircle54 circle0; Graphics g; Frame54(){ circle0=new MyCircle54(60,60,60,60); Timer timer0=new Timer(); timer0.schedule(new MyTimerTask54(),0,30); } class MyTimerTask54 extends TimerTask{ public void run() { myMain(); } } void myMain(){ g=this.getGraphics(); Graphics2D g2=(Graphics2D)g; circle0.move(); circle0.draw(g2); g2.dispose(); } }
Frame54.this
165 :
デフォルトの名無しさん :2006/04/27(木) 23:59:26
>>164 ありがとうございます。
全てわかりました。
今後とも精進してまいります。
精進するのは良いがテンプレは守ってくれよ
167 :
137 :2006/04/28(金) 01:26:58
【課題提示用テンプレ】
【 課題 】
問題1:Venderクラスに代金支払、キャンセルのメソッドを実装せよ。
問題2:複数の商品を扱えるように拡張せよ。
【 用語 】特に無いです。
【 期限 】提出期限2006年5月1日、できれば前日の4月30日の夜頃までだととても嬉しいです。
【 Ver 】Verとかわからないので特に無いです。
【 補足 】ぶっちゃけ丸投げです。
途中までのソースファイルと問題文をtxt形式にしたものを
ttp://enjoyoutofmybed.mpage.jp/Java.zipにzip形式でULしました 。
よろしくおねがいします。
169 :
デフォルトの名無しさん :2006/04/28(金) 22:30:29
何か見てて率直に思ったんだが高校の課題にはみんな寛大なのに大学の課題と分かると 非難しまくりじゃない?特に一流大の奴が課題頼むとすげー非難、攻撃してる気がするのは 俺だけ?
東大の奴質問したっけか?一流はここだけだけだと思うが。
すぐに東大とか出すなよ頭悪く見えるぞ
一流ってどこのことよ
東淀川大学
176 :
デフォルトの名無しさん :2006/04/28(金) 23:13:29
人の不幸はおもしろいからな 2ちゃんに書き込んで、チクられて退学・停学 なんてふざけた人生見ていて最高だよ
ここにいるヤツがメンドいと思った課題で大学名が分かれば苛めるだけ
>>148 このスレに攻性防壁を組み込めばいいじゃない。
で、卑怯な通報者を自滅させると。
179 :
デフォルトの名無しさん :2006/04/29(土) 16:56:58
変に自分で噛み砕いて省略されたり、途中までやったソース晒されるよりは丸投げのほうがいいんだが 宿題が載ってる学校のサイトをそのまま晒すヤツはイカれてるな あと【補足】に丸投げですって書くの流行ってるの?
>>180 多分、誰かにcatchして欲しいんだろ
うまいこと言ったつもr(ry
183 :
デフォルトの名無しさん :2006/04/29(土) 19:50:42
import java.io.File; import javax.sound.sampled.*; public class SoundPlay { private static final int EXTERNAL_BUFFER_SIZE = 128000; public static void main(String[] args) { try {File soundFile = new File("test.wav"); AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(soundFile); AudioFormat audioFormat = audioInputStream.getFormat(); DataLine.Info info = new DataLine.Info(SourceDataLine.class,audioFormat); SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); line.open(audioFormat); line.start(); つづく
続くな
185 :
デフォルトの名無しさん :2006/04/29(土) 19:54:19
【 課題 】test2.wavを追加してtest.wavと同時に再生するプログラムを作る 【 補足 】183の間違えて投稿してしまいました。すみません。丸投げです。お願いします。 import java.io.File; import javax.sound.sampled.*; public class SoundPlay { private static final int EXTERNAL_BUFFER_SIZE = 128000; public static void main(String[] args) { try {File soundFile = new File("test.wav"); つづく
186 :
185 :2006/04/29(土) 19:54:57
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(soundFile); AudioFormat audioFormat = audioInputStream.getFormat(); DataLine.Info info = new DataLine.Info(SourceDataLine.class,audioFormat); SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); line.open(audioFormat); line.start(); int nBytesRead = 0; byte[] abData = new byte[EXTERNAL_BUFFER_SIZE]; while (nBytesRead != -1) { nBytesRead = audioInputStream.read(abData, 0, abData.length); if (nBytesRead >= 0) { int nBytesWritten = line.write(abData, 0, nBytesRead); }line.drain(); line.close(); System.exit(0);} catch (Exception e) {System.out.println(e); System.exit(1); }}}
そのソースは何?括弧足りてないだろ
スレッド2本で同期でも取れ
189 :
デフォルトの名無しさん :2006/04/30(日) 10:49:06
すみません、わからない問題があったので教えてくださると助かります。 public class list3{ public static void main(Stringarg[]){ intshiire_ne1, teika1, kosuu1, goukei; intshiire_ne2=200, teika2, kosuu2=3; shiire_ne1=100; kosuu1=2; teika1=shiire_ne1 + 10; teika2=shiire_ne2 + 15; goukei=teika1*kosuu1 + teika2*kosuu2; System.out.println(goukei); double zeikomi1, zeikomi2; zeikomi1=houhou1(teika1); zeikomi2=houhou1(teika2); System.out.println("1:\t"+zeikomi1); System.out.println("2:\t"+zeikomi2); /* ここから2行は、特殊文字の説明です*/ System.out.println("1234" + "5678901234567890" + "\n"); System.out.println("1234\t123\t12."); /* ここからがメソッドhouhou1 の定義です*/ public static inthouhou1(int teika){ double waribiki, uri_ne, zei; waribiki=0.2; zei=0.05; uri_ne=teika*(1-waribiki); return (int) (uri_ne*(1+zei)); } } これのhouhou1のreturn文の式の値をdouble型に変更したいのですが どのようにしたらいいのでしょうか?
ホントに宿題なのかと問いたい、せめてテンプレ埋めろ
193 :
190 :2006/04/30(日) 21:57:46
テンプレを埋めずに質問し、申し訳ありませんでした。 【 課題 】list3.java の メソッド houhou1 の return 文の式の値を double型 に変更しなさい。 【 用語 】ありmせん。 【 期限 】5月1日午前8時まで。 【 Ver 】特にありません。 【 補足 】list3.javaは190の書き込みの文章です。 また何か不手際がありましたら、ご指摘ください。
public static double houhou1(int teika) { double waribiki, uri_ne, zei; waribiki = 0.2; zei = 0.05; uri_ne = teika * (1 - waribiki); return uri_ne * (1 + zei); } 単にintの文字をdoubleに書き換えればいいだけじゃね?
ぼそっ。お金の計算。
196 :
196 :2006/05/01(月) 00:46:31
内容: 【 課題 】画像ファイルを各自で用意し、画像のヒストグラムをテキストファイルに出力する プログラムを作りなさい。 また、上記で作成したヒストグラムを参照して、モード法を用いて画像を2値化する プログラムを作りなさい。 【 用語 】ありません。 【 期限 】提出期限は5月6日の午前0時までです。 【 Ver 】特にありません。 【 補足 】以下の2つのソースが与えられています。 このプログラムを用いて作成してもらえるとありがたいですが、 もっといい方法がある場合、教えていただけると幸いです。 以下に与えられた2つのソースを示します。 //1つ目 public class SampleImg { /** * @param args */ private static short img_out[][][]; public static void main(String[] args) { int i, j, k; ImageIOEx img = new ImageIOEx();// ImageIOExクラスのインスタンスを作る img.LoadImg("test.jpg"); img_out = new short[img.getHeight()][img.getWidth()][3]; for(i=0;i<img.getHeight();i++){ for(j=0;j<img.getWidth();j++){ for(k=0;k<3;k++){ img_out[i][j][k] = img.image[i][j][k];}}} img.SaveBMP(img_out, "output.bmp");}}
197 :
196 :2006/05/01(月) 00:52:43
//2つ目 import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; public class ImageIOEx { /** * @param args */ public static final int Y_SIZE = 1024; public static final int X_SIZE = 1024; private int width; private int height; public BufferedImage image_in, image_out; public short image[][][]; public ImageIOEx(){ width = 0; height = 0; image_in = null;} public short[][][] LoadImg(String f_name){ try{image_in = ImageIO.read(new File(f_name)); }catch(Exception e){ e.printStackTrace(); image_in = null;} width = image_in.getWidth(); height = image_in.getHeight(); int rgb; image = new short[height][width][3];
198 :
196 :2006/05/01(月) 00:55:10
//上記の続きです for(int h=0;h<height;h++){ for(int w=0;w<width;w++){ rgb = image_in.getRGB(w, h); image[h][w][0] = (short)((rgb >> 16) & 0xFF); image[h][w][1] = (short)((rgb >> 8) & 0xFF); image[h][w][2] = (short)(rgb & 0xFF); }}return image;} public void SaveBMP(short img[][][], String f_name){ image_out = new BufferedImage(width, height, 1); int rgb; for(int h=0;h<height;h++){ for(int w=0;w<width;w++){ rgb = ((img[h][w][0] << 16) | (img[h][w][1] << 8) | (img[h][w][2] & 0xFF)); image_out.setRGB(w, h, rgb);}} boolean output = false; try{ output = ImageIO.write(image_out,"bmp", new File(f_name)); }catch(Exception e){ e.printStackTrace(); output = false;}} public int getWidth() {return width;} public int getHeight() {return height;} public void setWidth(int w) {width = w;} public void setHeight(int h) {height = h;}}
199 :
デフォルトの名無しさん :2006/05/01(月) 16:23:42
【 課題 】 アプレットに関する課題です。課題は以下に示す通りです。 GraphicsオブジェクトのメソッドdrawLine()を遣って複数の線を秒図せよ。 drawLine()は、線の起点を示すxとy座標、終点を示すxとy座標をint型の4つの引数とする。 【 用語 】 特にないかと…。 【 期限 】 できれば今日中にお願いします。 無理言ってすみません。 【 Ver 】 これも特にありません。 【 補足 】 わからない箇所は、聞いてくだされば極力答えるようにします。 何卒よろしくお願いします。
200 :
199 :2006/05/01(月) 16:26:18
課題文の一行目は「秒図」ではなくて、「描図」ですね。 みなさんわかっていると思いますが、無駄に混乱させたくないので訂正しておきます。 あとは誤字脱字ないと思うので、よろしくお願いします。
import java.awt.*; import java.applet.Applet; public class TestApplet extends Applet { public void paint(Graphics g) { g.drawLine(100, 0, 200, 150); g.drawLine(200, 150, 0, 150); g.drawLine(0, 150, 100, 0); } }
最近、丸投げといっても投げっぱなしで 依頼者の反応が無いな。 丸投げというよりも投げ捨てになってるな。 質問するからには最低限マナーは守れよ
203 :
196 :2006/05/01(月) 20:05:04
すいません。提出期限が間違っていました。 正しくは、5月5日の午前0時までです。 よろしくお願いします。
>>203 かなり面倒くさいな、これ。
ヒストグラムは「明るさ」を横軸でいいのか?
2コブあるかどうかの検出も面倒だな、これ。
205 :
デフォルトの名無しさん :2006/05/01(月) 21:09:01
銀行の普通預金口座を考えて,Accountという名前で呼ぶことにします.以下の機能を持つクラスAccountを作りなさい. 1つの銀行口座には,1つの預金者名と,1つの預金金額がある. 預金者名と初期預金金額を指定できるコンストラクタがある. 預金するメソッドdepositがある.返り値はなし(返り値:void). 引出すメソッドwithdrawがある.返り値はなし(返り値:void). 指定したインスタンスから預金者名を調べるメソッドgetNameがある(返り値:String). 指定したインスタンスから預金の残高を調べるメソッドgetBalanceがある(返り値:int). 表示するためのメソッドtoStringがある(返り値:String ヒントを下さい。お願いします。
>>205 ヒント:クラスを1個つくれば良い。mainメソッドは不要。
207 :
デフォルトの名無しさん :2006/05/01(月) 21:25:54
209 :
デフォルトの名無しさん :2006/05/01(月) 21:42:59
本当はもっと知りたいです。 全然さっぱり解けません
>>205 クラスAccountはString nameとint balanceというメンバ変数を持つ
>>209 出血大サービス
public class Account {
private String name;
private int balance;
public Account (String name, int money) {
}
public synchronized void deposit(int money){
}
public synchronized void withdraw(int money){
}
public String getName(){
}
public int getBalance(){
}
public String toString(){
}
}
212 :
196 :2006/05/01(月) 23:53:31
>>204 ヒストグラムはグラフを描くのではなく、テキストファイルに「*」を使って出力すれば
いいそうです。
例えば、
***
*********
***
という感じです。説明が足りませんでした。すいません。
もし、グラフを描くのなら、横軸は明るさでいいと思います。
面倒かと思いますが、なにとぞよろしくお願いします。
213 :
204 :2006/05/02(火) 00:23:02
>>212 まぁやってみるけど。
新規で入れた xyzzy を試しながら書くからできなくても恨みっこ無しね。
>>211 横槍だが synchronized の使い方が中途半端
215 :
196 :2006/05/02(火) 01:17:09
>>213 ありがとうございます!やってみてもらえるだけでありがたいです。
よろしくお願いします。
216 :
199 :2006/05/02(火) 02:32:19
>>201 ありがとうございます。
参考にさせていただきます。
お礼が遅くなって申し訳ありませんでした。
217 :
211 :2006/05/02(火) 09:39:55
>>217 > public int getBalance(){
同期には、排他性の他に、原子性と可視性に関する側面がある。
平たく言えば、synchronized で書いたら、synchronized で読むのじゃ
なんだ、ただの厨だった
>>218 で、getBalance()を同期しないと何が駄目なの?
221 :
デフォルトの名無しさん :2006/05/02(火) 14:40:24
もう詰んでるね。
222 :
204 :2006/05/02(火) 15:53:02
>>215 できる見込み立ったのであと1日待ってくらさい。
223 :
204 :2006/05/02(火) 18:11:08
>>212 でけた。ソース3本。
ImageIOEx.java
------------------------ ここから
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageIOEx {
/**
* @param args
*/
private int width, height;
public ImageIOEx() {
this.width = 0;
this.height = 0;
}
public short[][][] LoadImg(String fileName) {
BufferedImage inBufImg;
try {
inBufImg = ImageIO.read(new File(fileName));
} catch(Exception ex) {
ex.printStackTrace();
return null;
}
this.width = inBufImg.getWidth();
this.height = inBufImg.getHeight();
224 :
204 :2006/05/02(火) 18:11:40
short[][][] img = new short[this.width][this.height][3]; int rgb; for (int y = 0; y < this.height; y++) { for (int x = 0; x < this.width; x++) { rgb = inBufImg.getRGB(x, y); img[x][y][0] = (short)((rgb >>> 16) & 0xff); img[x][y][1] = (short)((rgb >>> 8) & 0xff); img[x][y][2] = (short)(rgb & 0xff); } } return img; }
225 :
204 :2006/05/02(火) 18:12:26
public void SaveBMP(short img[][][], String fileName) { BufferedImage outBufImg = new BufferedImage(this.width, this.height, 1); int rgb; for (int y = 0; y < this.height; y++) { for (int x = 0; x < this.width; x++) { rgb = (img[x][y][0] << 16) | (img[x][y][1] << 8) | img[x][y][2]; outBufImg.setRGB(x, y, rgb); } } try { ImageIO.write(outBufImg, "bmp", new File(fileName)); } catch(Exception ex) { ex.printStackTrace(); } } public int getWidth() { return this.width; } public int getHeight() { return this.height; } } ------------------------ ここまで
226 :
204 :2006/05/02(火) 18:13:50
Histogram.java ------------------------ ここから public class Histogram { /** * @param args */ public static void main(String[] args) { ImageIOEx imgIO = new ImageIOEx(); short[][][] img = imgIO.LoadImg("test.jpg"); int width = imgIO.getWidth(); int height = imgIO.getHeight(); int[] cnt = new int[256]; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { // UCrCb変換 short brightness = (short)((77 * img[x][y][0] + 150 * img[x][y][1] + 29 * img[x][y][2]) >> 8); // 明度カウント cnt[brightness]++; } }
227 :
204 :2006/05/02(火) 18:14:35
int max = 0; for (int i = 0; i < 256; i++) { if (max < cnt[i]) { max = cnt[i]; } } for (int i = 0; i < 256; i++) { cnt[i] = cnt[i] * 75 / max; String st = " " + i + ":"; st = st.substring(st.length() - 4); System.out.print(st); for (int j = 0; j < cnt[i]; j++) { System.out.print("*"); } System.out.println(); } } } ------------------------ ここまで
228 :
204 :2006/05/02(火) 18:17:49
連投禁止回避
229 :
204 :2006/05/02(火) 18:19:24
あれ?解除しない?
230 :
204 :2006/05/02(火) 18:19:39
SampleImg.java ------------------------ ここから public class SampleImg { /** * @param args */ // true にすると gray scale を出力 public static final boolean graySwitch = false; public static void main(String[] args) { int threshold = 0; try { threshold = Integer.parseInt(args[0]); } catch (Exception ex) { ex.printStackTrace(); System.exit(0); } ImageIOEx imgIO = new ImageIOEx(); short[][][] img = imgIO.LoadImg("test.jpg"); int width = imgIO.getWidth(); int height = imgIO.getHeight();
231 :
204 :2006/05/02(火) 18:21:33
short[][][] outImg = new short[width][height][3]; int[] cnt = new int[256]; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { // UCrCb変換 short brightness = (short)((77 * img[x][y][0] + 150 * img[x][y][1] + 29 * img[x][y][2]) >> 8); for (int c = 0; c < 3; c++) { if (graySwitch) { outImg[x][y][c] = brightness; } else { if (brightness > threshold) { outImg[x][y][c] = 0xff; } else { outImg[x][y][c] = 0x00; } } } } } if (graySwitch) { imgIO.SaveBMP(outImg, "grayscale.bmp"); } else { imgIO.SaveBMP(outImg, "output.bmp"); } } } ------------------------ ここまで
232 :
204 :2006/05/02(火) 18:29:01
解説 使い方 「java Histogram」で test.jpg のヒストグラム出力。 標準出力に出すのでリダイレクトするなりファイルに書き出すように改造するなりしてくれ。 調べたところ、モード法はヒストグラムを参考に人間が閾値を調整する手法のようなので(問題文をよく読んでもそう受け取れる)、 「java SampleImg xxx」(xxx は 0〜255)と、引数で閾値を与え、output.bmp に出力するようにした。 SampleImg.java の graySwitch を true にして再コンパイルすると、グレースケールの画像を grayscale.bmp に出力するのはオマケ。 引数解析や例外処理はいい加減です。これ以降は自力でどうぞ。
233 :
デフォルトの名無しさん :2006/05/02(火) 20:27:47
234 :
196 :2006/05/02(火) 20:29:12
>>204 ありがとうございます。さっそく「Histigram.java」を実行してみたのですが、
「short brightness = (short)((77 * img[x][y][0] +
150 * img[x][y][1] + 29 * img[x][y][2]) >> 8);」
のところでエラーが出て、実行できません。普通に実行するだけではだめなのでしょうか?
すいみませんが、教えていただけるとありがたいです。
235 :
204 :2006/05/02(火) 20:41:23
>>233 あいすみませぬ。言われて初めて気が付いた。
>>234 コンパイルエラー?実行時エラー?
エラーログ貼っておくれい
236 :
196 :2006/05/02(火) 23:10:20
>>204 実行時エラーだと思います。実行したらエラーが出るので。エラー内容は、
java.lang.ArrayIndexOutOfBoundsException: 238
at Histogram.main(Histogram.java:15)
Exception in thread "main"
です。よろしくお願いします。
237 :
204 :2006/05/03(水) 00:22:12
>>236 タブの代わりに入れた全角空白をソースをコピペした時に置換してなかったのかと思ったら、そうでもないのか。
使った JPEG ファイルが壊れてるとしか思えない。
こっちの手元ではちゃんと動きます。
ちゃんとしたファイルを食わせてください。
238 :
196 :2006/05/03(水) 00:51:38
>>237 JPEGファイルを何回か変えてやってみても、やっぱり動きません。
でも、204さんの手元ではできるということなので、こちらに原因があると思います。
あとは自力で解決してみます。
プログラムを作っていただいて、本当にありがとうございました。
239 :
デフォルトの名無しさん :2006/05/03(水) 00:51:58
すみません! Eclipseプラグインの「Call Hierarchy」みたいにJavaのソースコードで使われている任意のメソッドをパッケージ名からフルパスで抽出したいのですが、なにかヒントになる情報やサイトを教えていただけませんか? LexとかYACC的なものを応用してもいいんですが、できればJavaで自作したいです。 よろしくお願いします。
240 :
204 :2006/05/03(水) 00:54:18
>>238 画像ファイルの幅と高さを正しく取得できていないと思われる。
もしくは、帰ってきた short 配列の大きさが実際より足りない。
そこら辺を調べると良いでしょう。
後はがんばって。
241 :
デフォルトの名無しさん :2006/05/03(水) 00:54:41
>>239 そのプラグインってオープンソースじゃないの?
オープンソースならソースみればいいし、
jadで逆コンパイルでもいいんじゃないの?
242 :
196 :2006/05/03(水) 01:31:42
>>240 ということは、画像のファイルの大きさを小さくすればよいのでしょうか?
一つ疑問なのですが、課題で与えられたソースを実行した時は画像がちゃんと
読み取れたのに、作成していただいたソースを実行した時は画像が読み取れないのは
なぜなんでしょうか?ソース自体は関係がないのでしょうか?
問題を解決したいので、もしよければアドバイス下さい。
あつかましくて、すいません。
243 :
デフォルトの名無しさん :2006/05/03(水) 01:39:32
>>241 オープンソースであるという情報を得ることができませんでしたが、jadにトライしてみます。
Eclipseのバージョン3.では動かないみたいなので2を探してますが、まだ見つからない・・・。
244 :
デフォルトの名無しさん :2006/05/03(水) 01:48:09
つか、eclipse使う必要ないんだね。
宿題スレだっつーの
246 :
デフォルトの名無しさん :2006/05/03(水) 02:07:11
出された宿題のスレじゃなくて宿題を出すスレなの? スンマソ。
>>243 そのプラグインって、Eclipse に元からある機能と何が違うん?
248 :
247 :2006/05/03(水) 03:29:26
標準として付いたのは Eclipse 3 からだったのか、スレ汚しスマソ
249 :
204 :2006/05/03(水) 07:58:44
>>242 寝てたよ。
あ、そうなん?
ImageIOExに関しては、元のソースの書き方が変だと思ったから好きに書き換えたけど、まあ動作的にはおかしくはなi.
元の ImageIOEx に戻して一度試してみそ。
250 :
デフォルトの名無しさん :2006/05/03(水) 12:55:57
【 課題 】継承とポリモフィズムのプログラムを以下の仕様通りに作りなさい。
・
ttp://deaikei.biz/up/up/0409.jpg.html 仕様jpg pass:java
・仕様jpgを元に、異なった最低8人の従業員をArrayを使い保有させなさい。
・メインメソッドに、従業員オブジェクトを扱うArrayを作りなさい。
・配列のそれぞれの従業員オブジェクトの情報、週間支払い給料の総額を出力しなさい。
・ヒント(もし、クラスがきちんとセットアップされているなら、ループを設定するだけで簡単に出力される)
・すべてのデータメンバーは、privateで修飾するようにしなさい。
【 期限 】5/5
【 Ver 】1.4
よろしくお願いします。
251 :
196 :2006/05/03(水) 17:25:36
>>249 ImageIOExを元のプログラムに戻し、Histogramを実行しましたが、やはりできなかったので、
「st = st.substring(st.length() - 4); 」を削除したところ、実行できました。
「st = st.substring(st.length() - 4); 」の部分の意味がよく分からないのですが、
いつもここにエラーが出ていました。
よければこの部分の意味を教えていただけないでしょうか?
252 :
デフォルトの名無しさん :2006/05/03(水) 18:20:17
【 課題 】2つの3次元3角形を描画し、それぞれがz軸上で交差する配置とし、隠面消去を行うこと。 【 期限 】5/8 【 Ver 】Eclipse3.0 お願いします
253 :
デフォルトの名無しさん :2006/05/03(水) 18:21:32
>250 某是身の方ですか?
しょうもないこと言ってんなよ
255 :
デフォルトの名無しさん :2006/05/03(水) 18:41:29
zuboshidesuka
256 :
204 :2006/05/03(水) 20:29:03
>>251 とりあえず上手く動くとこまで行ったのね。
st = … の部分は、ヒストグラム出力の際に明度を3桁右寄せで出すためのもの。手抜きだけど。
SampleImg に渡す明度の参考にするため、ね。
他にもやりかたはあるから自分で試してみてちょ。
でも変だなぁ。こっちじゃ 1.4 の環境で何事もなく動いたけど。
257 :
204 :2006/05/03(水) 20:33:20
>>251 というか、直前の行の
String st = " " + i + ":";
の " " の間に入ってる半角空白は2個だぞ。1個にするとエラー出る。
258 :
252 :2006/05/03(水) 20:39:01
すいません、補足の追加です 【 補足 】JavaライブラリFill Polygonを用いるのではなく、内挿補間で塗りつぶす よろしくお願いします
259 :
250 :2006/05/03(水) 22:44:20
>>259 ゼミの意味も分からんの?
wa ro ta
>>252 テンプレに専門用語の説明をつけろとあるだろ
262 :
252 :2006/05/04(木) 00:37:08
隠面消去:裏側にある、目に見えない部分を描画しない 片方の三角形上の各点(x1,y1,z1)ともう一方の三角形の各点(x2,y2,z2) を比べてzの値の大きいほうを描写する 内挿補間:z軸の値固定で、y軸に垂直(x軸に水平)に図形を切断し、 範囲内で最大(xmax)と最小(xmin)の値を取得する xmaxからxminまで直線を引く 双方の三角形の頂点は任意に指定できる
263 :
196 :2006/05/04(木) 01:15:15
>>257 空欄を増やしたら、ちゃんと動作しました!すいません。ありがとうございます!
しかし、まだSampleImgの方はうまく動作しません。
gray scale をtrueにして実行すると、img_out[i][j][k] = brightness;
の所で、エラーが出ます。
ちなみに環境は、2.1です。
264 :
204 :2006/05/04(木) 02:17:40
>>263 元ソースが img_out[Y軸][X軸][色] になってて気持ち悪かったから X軸と Y軸入れ替えた。
よく考えたら仕様変更しちゃってたな。
その辺を間違って打ってると思うけど。
総チェックすべし。
System.out.print を使うなりして動きをつかまえなさい。
265 :
252 :2006/05/04(木) 04:50:22
ちょっと訂正します 隠面消去:裏側にある、目に見えない部分を描画しない 片方の三角形上の各点(x,y,z1)ともう一方の三角形の各点(x,y,z2) を比べてzの値の大きいほうを描写する 内挿補間:z軸の値固定で、y軸に垂直(x軸に水平)に図形を切断し、 範囲内で最大(xmax)と最小(xmin)の値を取得する xmaxからxminまで直線を引く 双方の三角形の頂点は任意に指定できる 何度もすいませんが、よろしくお願いします
GWの課題でjava系?がでた・・。よろしくお願いします 【 課題 】画面で振り子が左→右→左・・・と動くプログラム 【 用語 】普段はC使ってるけどjavaでどう書くか?が課題 【 期限 】 来週[5月8日(月)]まで 【 Ver 】 javaのバージョン知りません 【 補足 】 javaやったこと無い素人なので突っ込みには答えれないです
267 :
250 :2006/05/04(木) 12:28:34
>>260 是身=ゼミって事ですか。
そうです。
これが、ゼミでやる基礎Javaの最終課題になるのですが、
僕にはこのゼミは難しすぎたみたいで、この課題が終わったら辞めようと思っています。
先生の指導方針は素晴らしいと思うのですが、僕にはコンピュータ初心者でもじっくり分かる授業の方が
合っているような気がするので、きちんと基礎から教えてもらえる初心者向けのゼミに入ろうと思います。
268 :
250 :2006/05/04(木) 13:59:01
269 :
初心者ですが :2006/05/04(木) 14:32:52
今日からjavaをはじめたんですが、 コンパイル?した後に、実行しようとすると Exception in thread"main"java.lang.Noclass DefFound Error となってしまうんですが、どうすればいいか、わからないんです。 何方か教えてもらえないですか? お願いします
272 :
271 :2006/05/04(木) 15:52:23
追伸。 Employee クラスの printDescription メソッドは削ってくれ。
274 :
250 :2006/05/04(木) 17:20:02
で?
エラーが出たんならどんなエラーか書くのが常識だろ まあそれ見ただけでわかるけどな
>double totalWSalary += myEmployee[i].calcSalary(); これはまずいんじゃない?
278 :
250 :2006/05/04(木) 17:35:29
>>275 どうすれば良いのでしょうか? …orz
>>276 エラーは、calcSalary()の下に赤い波線が入り、「シンボルを見つけられません。」と出ています。
>>277 どうまずいのでしょうか?
279 :
271 :2006/05/04(木) 17:39:46
>>274 Michael Jackson とか、Bill Gates とかの楽しい社員を削りやがったな!
まあいい、徹夜で勉強してもう寝るから教えとく。
double totalWSalary = 0;
for (int i = 0; i < myEmployee.length; i++) {
totalWSalary += myEmployee[i].calcSalary();
myEmployee[i].printInfo();
}
System.out.println("Total Weekly Salary: "+totalWSalary);
3箇所間違っておったわい。System.out のスペルとスコープ外の変数の使用とローカル変数の未初期化。
何でわざわざ Person クラスを作ったのかとか、何で Person クラスに set メソッドを書いてないのかとか… Employee クラスが何で abstract なのかとか…
説明できなくて教授に起こられてくるが良い…実はちょっち意地悪な書き方なのだよ…ごにょごにょ。
281 :
250 :2006/05/04(木) 17:45:47
>>279 ありがとうございます。
それでも、
totalWSalary += myEmployee[i].calcSalary();
の、calcSalary();が「シンボルを見つけられません。」と言ってきますorz
282 :
250 :2006/05/04(木) 17:48:45
myEmployee[i]を打った後に、. を打つと、自動的に JBuilderが参照出来る型?を表示してくれるのですが、 そこにget(set)FirstName、get(set)LastName、get(set)Ssn、printInfo しか表示されません。
283 :
271 :2006/05/04(木) 17:53:04
284 :
250 :2006/05/04(木) 18:20:44
285 :
271 :2006/05/04(木) 18:34:56
>>284 本当に寝る前に覗くと…お、できたですか。
あとはサブクラスに get メソッドと set メソッドつけたってくれ。
仕様書(課題)にはそう作れとかいてるぞ。
289 :
196 :2006/05/04(木) 23:56:55
>>264 分かりました。ありがとうございました。がんばります。
290 :
250 :2006/05/05(金) 04:25:00
【 課題 】cunstomer_ID, NAME, Phone_number のデータをもったデータベースがある。 HTMLで、SQL文を送信し、その結果のテーブルを表示する Java Servletをつくれ。 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】なるだけ早く。 【 Ver 】Java Servlet 【 補足 】JDBCを使用 よろしくお願いします。
【 課題 】cunstomer_ID, NAME, Phone_number のデータをもったデータベースがある。 HTMLで、SQL文を送信し、その結果のテーブルを表示する Java Servletをつくれ。 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】なるだけ早く。 【 Ver 】Java Servlet 【 補足 】JDBCを使用 よろしくお願いします。
【 課題 】cunstomer_ID, NAME, Phone_number のデータをもったデータベースがある。 HTMLで、SQL文を送信し、その結果のテーブルを表示する Java Servletをつくれ。 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】なるだけ早く。 【 Ver 】Java Servlet 【 補足 】JDBCを使用 よろしくお願いします。
294 :
デフォルトの名無しさん :2006/05/05(金) 14:02:43
【 課題 】cunstomer_ID, NAME, Phone_number のデータをもったデータベースがある。 HTMLで、SQL文を送信し、その結果のテーブルを表示する Java Servletをつくれ。 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】なるだけ早く。 【 Ver 】Java Servlet 【 補足 】JDBCを使用 よろしくお願いします。
その前にイカレたPC直せ。 なるだけ早く。
イカれてるのは頭だな
環境構築するのめんどくせ
298 :
デフォルトの名無しさん :2006/05/05(金) 15:49:35
息をするのもめんどくせ
299 :
1 :2006/05/05(金) 17:35:13
【 課題 】n段のピラミッドを表示する関数を作成せよ 【 用語 】なし 【 期限 】明日の夕方 【 Ver 】なし 【 補足 】static void spira(int n) 第i行目には(i-1)*2+1の*記号を表示して、最終行である 第n行目には(i-1)*2+1の*記号を表示すること
え
日本語さえも不自由な奴がいるな
行と段の違いは?
303 :
299 :2006/05/05(金) 17:59:44
昨日から寝てないんで、ミスタイプ…orz
【 補足 】static void spira(int n)
第i行目には(i-1)*2+1の*記号を表示して
最終行である第n行目には(n-1)*2+1の*記号を表示すること
>>302 行と段の違いはただの表現の違いだけだと思われ。
段→視覚的に見たピラミッド
行→プログラム内のforの動き?
こういうことか class Pyramid { static void repeat(char c, int n) { for (int i = 0; i < n; ++i) System.out.print(c); } static void spira(int n) { for ( int i = 1; i <= n; ++i ) { repeat(' ', n-i); repeat('*', (i-1)*2+1); System.out.println(""); } } public static void main(String args[]) { spira(5); } }
305 :
299 :2006/05/05(金) 20:59:56
>>304 import java.util.Scannerを使ってKeyから入力した
任意の段数のピラミッドを表示するプログラムですたorz
よし、今すぐ氏ね
他に隠し仕様はない?
308 :
299 :2006/05/05(金) 21:41:51
>>307 他には無いはず。あとは挿絵に奇数ずつ増えていく*のピラミッドのみ
309 :
304 :2006/05/05(金) 22:42:07
>>299 最初から言え
>>304 のプログラムの一行目に
import java.util.Scanner;
を追加して、main() を
public static void main(String args[]) {
System.out.print("Input an integer > ");
spira(new Scanner(System.in).nextInt());
}
にしなさい
310 :
初心者ですが :2006/05/05(金) 23:22:32
311 :
299 :2006/05/06(土) 00:24:13
>>309 dクス。repeatははじめてみたよorz
勉強になるなぁ
そりゃ初めて見るよな
だって
>>304 が初めて実装したんだから
それもとあんな実装方法初めて見たってこと?
313 :
299 :2006/05/06(土) 00:38:49
>>312 実装方法そのものでつ。
基礎を固めようと思って勉強中なんだけどまだまだ知らないことありますわ。
repeatって意味そのものの役割を果たしたりするわけ?
for文を書いているだけなのが何か目新しいのかな? 多分それはあなた自身に問題があるのではなく、講師の方に問題があるな 関数を作成せよとか、補足のstaticメソッド指定ってのをみると 講師の程度がよくわかる メソッド名ってそのメソッドが何をするか表すように命名するんだよ だからrepeatは何を繰り返すかはわからんが、何かを繰り返すメソッド ってのが想像つく あと、メソッドはなるべく分割することを心がけること ピラミッドの例でいうならば、spiraメソッドに二重for文を直接 書くのではなく、repeatのように内側の処理を他のメソッドで 書くようにするとかね
別人です
317 :
304 :2006/05/06(土) 01:50:27
うん、別人。なんか
>>314 みたいなこと書こうかな、
でも今酔っぱらってるし面倒いなぁ、とか思ってたら
>>314 が書いてくれた。ありがと。
>>299 はお勉強頑張ってください。
318 :
315 :2006/05/06(土) 02:11:44
そうなのか。
でも
>>314 の説明の半分はおかしいな。
319 :
304 :2006/05/06(土) 02:17:40
そうなの?ぶっちゃけちゃんと読んでない w
ちなみに
>>304 のプログラム書いた時点では酔ってないので
>>299 は安心してね
320 :
デフォルトの名無しさん :2006/05/06(土) 07:26:50
質問なんですけど、Java Servletで、 obj.toStringには、空白込みの文が入っていて、 out.println("<a href ='test?obj="+ obj.toString() + "'>" + obj.toString()+"</a>"); とすると、URLに空白がそのまま入って今います。 空白を+に変えるときには、どうしたらいいのか、教えてください。 お願いします。
Servletって何か関係あるの? 文字列を置換する方法すら知らないの?
>>318 どのへんがおかしいか参考までに教えてくれ
323 :
デフォルトの名無しさん :2006/05/06(土) 13:13:29
>>320 replaceAll(" ", "+")
replace(' ', '+')
325 :
318 :2006/05/06(土) 14:14:10
>>322 では僭越ながら
>>314 にツッコミを。
> 補足のstaticメソッド指定ってのをみると講師の程度がよくわかる
この場合、spira は main の単なる下請けメソッド。
おまけにインスタンスフィールドもインスタンスメソッドも使う必要が無い。
こういうのは static で全然構わない。突っ込むなら private static にした方が良い、と言うべき。
外部に公開するとしても static で構わない。だって、外部に公開するメソッドの仕様は将来に渡って変えてはならないのだから。
static メソッドはクラスが提供するサービスとなる。インスタンスが提供するサービスと区別して認識すべし。
加えて、初心者に教えるなら、手続き指向的な書き方から入るのが好ましいと思う。
自分なら最初は全てのメソッドを static で書かせる。
> だからrepeatは何を繰り返すかはわからんが、何かを繰り返すメソッドってのが想像つく
単語1つの「一等地」な名前を使っても良いのは、private な下請けメソッドの時くらい。
外部に公開するなら「printRepeatedChar」くらい明確につけるべし。
> あと、メソッドはなるべく分割することを心がけること
機械的に分割しても意味が無い。
コードの長さ、意味の分かりやすさ、メンテのしやすさを考えて適時考えるべし。
ここら辺は経験がものを言う。
この場合の repeat は良いと思う。
2次元配列の各要素を順に処理するような、ごく単純な2重ループなら切り分ける必要はない。
関係ない俺が書くのはどうかとも思うが spiraがstaticである指定があるから今回はそうなんだろうけど メンバ変数にピラミッドを構成する文字を持たせたりする方法も考えられる メソッドの仕様というのはインターフェースについてなら同意 内部仕様は変える事も staticで書かせるのは良くないと思う 折角手続き指向の変な癖が入って無いんだから 最初からオブジェクト指向に慣れさせるべき
327 :
318 :2006/05/06(土) 18:39:14
>>326 > メンバ変数にピラミッドを構成する文字を持たせたりする方法も考えられる
確かにそういう場合も考えられる。
しかし static void spira(Char c, int n) のようにしてしまう手もある。
どっちがいいのか?ケースバイケースだと思う。
Pramyd クラスの使われ方の位置づけと、どの程度の拡張を想定するかに依存する。
さしあたって必要なさそうなことは考えないのが現実的ではないのか。
この場合の問題領域は、宿題の扱う範囲内で書くこと。
さしあたって拡張のことは考えなくていい(というより、想定不可能)局面=だから static で良い、と考える。
> メソッドの仕様というのはインターフェースについてなら同意
> 内部仕様は変える事も
??
仕様=外から見た振る舞い 実装=実際の中の作り。中は当然変えても良い。
> 折角手続き指向の変な癖が入って無いんだから
> 最初からオブジェクト指向に慣れさせるべき
趣味の違いだろうけど、自分はそうしないと教える自信がない。
低レベルなことから入らないと伸びないと思う。
経験上、C でヒープに構造体を放り込んだり、関数へのポインタを使ってコマンドパターンを実装できるくらいの人は Java に入ってもすいすい分かる。
変な癖を持ってるのは C もよく分かってなかった人たちだった。
328 :
318 :2006/05/06(土) 18:48:10
追記 この場合に関しては…。 そもそも Pyramid という名前のクラスが文字出力のサービスを外部に公開するのは筋が違うだろう、という気持ちもある。
>>327 結局ケースバイケースだよね
ピラミッドの印字を属性として持たせたほうがしっくり来るのと
staticに違和感もあるけどこれは捉え方の違いだしね
内部仕様と外部仕様(=インターフェイス)って使わないのかな
何かの方言だったらスマソ
教え方の方針は人それぞれだしね
ただCもよく分って無い人が居る現実の元で
手続き指向で教えてstatic全開の癖を持つ悪魔が生まれないかが心配
いや,仰るとおり変な癖を持つ人はどんな教え方しても鬼のようなプログラムを作って来るんだけれども
あー関係ない俺が長々と書いてスレ汚しスマソ
331 :
304 :2006/05/06(土) 21:07:21
めっちゃ盛り上がってるな。 repeat() 書いたのは、「半角じゃなくて全角で」とかいう後付けがありそうな気がしたので、 対応できるようにするためです。spica() が static であるべきかどうかはしらん。 てゆかまだ static じゃないメソッドとかクラス作成とかは習ってないんじゃん? なんかおもしろい課題来ないかな。
332 :
デフォルトの名無しさん :2006/05/07(日) 11:49:37
【 課題 】自由課題で下(i=200)から上(i=0)に"a"という文字を徐々に移動させるアニメーションがあります。 そこでiの値(Y座標)が0〜50の時にYESを表示。それ以外のときはNOと表示させたいのですがうまくいきません。》 【 期限 】なし 【 補足 】色々ためしてるのですがどうしてもできません。どうもiのwhile文がkeyEventのif文のiに影響してません。 よろしくお願いします。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Original extends Applet { double random; int number=65; int i; String word="a"; public void paint(Graphics g) { requestFocus(); addKeyListener( new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.getKeyCode()==65&&0<=200-i&&200-i<=50){ System.out.println("YESで"+i); } else { System.out.println("NO"+i); } }});
333 :
332 :2006/05/07(日) 11:50:23
g.setColor(Color.BLACK); g.drawLine(0,50,500,50); i=0; while( i<200){ try{ g.drawString("a",250,200-i); g.setColor(Color.WHITE); Thread.sleep(15); g.fillRect(0,0,1000,1000); g.setColor(Color.BLACK); g.drawLine(0,50,500,50); } catch(Exception e) {System.out.println(e);} i++;}}}
335 :
332 :2006/05/07(日) 12:52:53
>>334 キーボードでaが入力されたときのy座標が知りたいのですが。。
それでそのy座標が0〜50の値であればYES。それ以外ならNOと。
>>334 のですと常にiの値(つまりy座標)が200になっていまいます
このプログラムではy座標を知るのは無理ですか?
337 :
332 :2006/05/07(日) 13:14:34
>>336 すみません。それが色々ためしたんですけど作れないです
時間があればでいいので作ってくれませんか?
338 :
デフォルトの名無しさん :2006/05/07(日) 13:34:19
すみませんが、どなたかオブジェクトの取得とオブジェクトの参照がどういった ものか、また その違いについて御教授お願いします…orz 構文なんかあればその説明もお願いしまつorz
341 :
338 :2006/05/07(日) 14:13:08
【課題提示用テンプレ】 【 課題 】7つのgif画像を、座標を変えながらスクリーン上に順次描画して簡単な動画を実現せよ。 【 用語 】 【 期限 】今日中にお願いします! 【 Ver 】5.0でも実行できるものでお願いします。 【 補足 】gif画像は同じ感じの動物が1.gif,2.gif・・・のように7つ与えられています。それが滑らかに動く様を実現するものです。
>>342 その7つのgif画像とやらをどっかにあげろ
>>343 動物が歩く一連の動きを7コマで表現するものです。
一枚の画像は縦横200ピクセルです。
座標はこちらで調整するのでプログラムを教えてもらえませんか。
画像をあげるといろいろとよろしくないので。
>344 課題の本質と関係ないところで回答者の手を煩わせても回答率が落ちるだけだぜ。 課題で与えられた画像でなくてもいいから、質問者が画像を用意した方がいいんでないの?
>>342 てか同じ学校、学部、学科だな
俺出来たからやろうか?
んでそんくらい変えたくらいじゃばればれ
つまらん小細工スナ
347 :
342 :2006/05/07(日) 20:50:08
直接会えばいいんでないの?
そうね。後で連絡するから電話番号書いておいてよ。
ありがとう。でももういいよ。
そんな!非道いわ!
352 :
デフォルトの名無しさん :2006/05/09(火) 16:37:30
>>353 あってます、ややこしい文章ですみません
ありがとうございました
355 :
リリー :2006/05/10(水) 00:37:36
言語はJAVAで、jspを使った課題なのですが、 課題:テーブルを使った九九表の作成 条件:jsp部分とhtml部分は完全に分けて、 二次元配列を使用して、for文で各列を作る html部分には<%= 変数名 %>のみ・・・ です。どなたかわかりませんか?
356 :
デフォルトの名無しさん :2006/05/10(水) 07:37:51
【 課題 】 1つのボタンを含むアプレットを作成せよ。 ボタン上のラベルは”start”に初期設定する。 ボタンを押すと、ラベルは”stop”に変化する。 ボタンを押すたびに、ボタンラベルはこれらの2つの値の間で切り替わる。 【 期限 】 5月12日まで 【 補足 】 中途半端に行き詰ったのがありますが、やってくださる方にお任せして丸投げします。 よろしくお願いします。
>>356 import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class A359 extends Applet implements ActionListener {
private Button bu;
public void init() {
bu = new Button("START");
bu.addActionListener(this);
add(bu);
}
public void actionPerformed(ActionEvent e) {
if ("START".equals(bu.getLabel())) {
bu.setLabel("STOP");
} else {
bu.setLabel("START");
}
}
}
358 :
デフォルトの名無しさん :2006/05/10(水) 10:34:32
卒論で「携帯アプリ(iアプリ)で「hello world」を表示しろ」ってな宿題が出たんですが サポートされていないエンコーディングですと表示されて先に進めません。 誰か教えてください><; 期限は今日の3時までです。 import java.io.*; import java.util.*; import com.nttdocomo.ui.*; import com.nttdocomo.device.*; import com.nttdocomo.io.*; import com.nttdocomo.net.*; import com.nttdocomo.util.*; import javax.microedition.io.*; class C extends Canvas { Graphics g; C() { Display.setCurrent(this); g = getGraphics(); } void main() { g.drawString("Hello World", 20, 20); } public void paint(Graphics g) { } } public class I extends IApplication { C c; public void start() { c = new C(); c.main(); } }
「先に進めません」 がコンパイルエラーなのか例外なのか書きやがれ。 iアプリはやったこと無いが、ソース見る限り特別なことはやってないから 端末かコンパイラのエンコーディングがShift_JIS固定とかなんじゃねーの?
360 :
356 :2006/05/10(水) 11:58:09
>>357 素早い回答ありがとうございます。
参考にさせていただきますね。
エラーが出るとかいってエラーの内容を書かないクズが多すぎるな
みなさま方には簡単すぎる、というか初歩だとおもうのですが 初心者でさっぱりわかりません。お手伝いよろしくおねがいします。 変数を二つ以上宣言してそれぞれに自分の好きな値(ゼロではない)を代入し ふたつの変数のビット演算子による結果を表示するプログラムを作る int a; int b; a=? b=? 実行できるようにするにはどうすればいいでしょうか? よろしくおねがいします。
>>362 public class Bit{
public static void main(String args[]){
int a=3;
int b=5;
System.out.println(a|b);
}
}
「System.out.println(a|b);」の | は論理和をあらわす。
3は2進で11、5は2進で101。これらの論理和は111なので実行すると10進で7と表示される。
その他のビット演算子は教科書でも参考に汁
そもそも2進数をわかっているのか・・
【 課題 】 以下のヒントを参考にし、2つの自然数a,bの最大公約数を求めるアルゴリズムを完成させよ。 ・アルゴリズム1(単純な方法): 1) a,bの小さい方の数をcとする。 2) a,bをcで割る。どちらも割り切れたなら、cが最大公約数。 3) 割り切れなかったら、cをひとつ減じ、2)に戻る。 ・アルゴリズム2(ユーグリッドの互助法) 1) a ≧ bとする。 2) bでaを割る。また、余りをrとする。 3) もし、rが0なら5)へ。 4) bを新たなa、rを新たなbとして2)に戻る。 5) 一つ前のrが最大公約数。
(ヒント) //GDC.java import java.io.*; public class GDC{ static int gbc1(int a, int b){ [ここにアルゴリズム1を記述する] } static int gbc2(int a, int b){ [ここにアルゴリズム2を記述する] } public static void main(String args[]) throws IOExeption{ BufferedReader key = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(key.readLine()); int b = Integer.parseInt(key.readLine()); System.out.println("入力された文字:" + a + "," + b); System.out.println("最大公約数(方法1):" + gbc1(a, b)); System.out.println("最大公約数(方法2):" + gbc2(a, b)); } } 【 期限 】 5/14 15:00 よろしくお願いします。
>>366 static int gbc1(int a, int b){
int c = (a < b)? a: b;
while (!((a % c == 0) && (b % c == 0)))
c--;
return c;
}
static int gbc2(int a, int b){
int temp;
int r;
if (a < b){
temp = a;
a = b;
b = temp;
}
while ((r = a % b) != 0){
a = b;
b = r;
}
return b;
}
検証はして無い
369 :
366 :2006/05/10(水) 22:37:40
>>368 早速の回答ありがとうございました、大丈夫そうです。
370 :
リリー :2006/05/10(水) 22:46:35
【 課題 】 言語はJAVAで、jspってのを使い、 テーブルを使った九九表の作成 【 条件 】 jsp部分とhtml部分は完全に分けて、 二次元配列を使用して、for文で各列を作る html部分には<%= 変数名 %>のみ・・・ 【 期限 】 5月12日まで・・・ 期限が早いのですが、わかる方お願いします。
>>370 テンプレを使うべきことに気付いたのは良いとして、
> 1:問題文は自己省略せずに、直接全部貼り付けてください。
むしろ名前が
373 :
デフォルトの名無しさん :2006/05/11(木) 02:20:37
【 課題 】階乗10!を求めるプログラムを再帰を用いて作成せよ 【 期限 】できれば今日中に 【 補足 】自分で考えたものですがjavacでは文句言われなかったのに実行すると at DisplayKaijo.Kaijo(DisplayKaijo.java:12) というエラーがいっぱいでます。 class DisplayKaijo{ public static void main(String[] args) { int n=10; System.out.println(n + " の階乗 = " + Kaijo(10)); } static int Kaijo(int n){ if(n==0){ return 1; } else{ return Kaijo(n*(n-1)); } } }
374 :
デフォルトの名無しさん :2006/05/11(木) 02:50:57
>return Kaijo(n*(n-1)); return n*Kaijo(n-1); じゃないのか
375 :
デフォルトの名無しさん :2006/05/11(木) 03:10:10
>>374 ありがとうございます。全然気づきませんでした・・・
課題 1 コマンドライン引数として渡されたものを (そのままの順で スペースで区切って)順に印字するプログラム 課題 2 コマンドライン引数として渡されたものを (そのままの順で スペースで区切って)逆順に印字するプログラム 実行例 D:\class\CS>java Echo1 ab d e f eijao afea oaefoawef anfeia ab d e f eijao afea oaefoawef anfeia D:\class\CS>java Echo2 ab d e f eijao afea oaefoawef anfeia anfeia oaefoawef afea eijao f e d ab 宿題: 上記の課題1と2を完成させる。
>>378 2つクラス書くの面倒なんで、適当に読み替えろ
両方の違いはループをまわす方向だけだ
public static void main(String[] args) {
echo1 (args);
echo2 (args);
}
public void echo1(String[] args) {
for (int i=0;i < args.length; i++) { // 正順ループ
System.out.print( args[i] + " ");
}
}
public void echo2(String[] args) {
for (int i=args.length-1; i>=0; i--) { // 逆順ループ
System.out.print( args[i] + " ");
}
}
378 :
377 :2006/05/11(木) 13:57:37
【 課題 】eat(double in_eat),run(double in_km)メソッドをtestクラスに作成する。 eatは食べた分の10分の1体重増加。 runは走った分の100分の1体重減少。 全くわかりません・・・ お願いします
テンプレ使えって何度言わせれば・・
class Test { double weight; Test(double weight){ this.weight = weight; } double eat(double in_eat){ return this.weight += in_eat * 0.1; } double run(double in_km){ return this.weight -= in_km * 0.01; } public static void main(String[] args) { Test wh = new Test(65.8); System.out.println(wh.eat(0.75)); System.out.println(wh.run(2.0)); } }
384 :
380 :2006/05/12(金) 12:13:31
【課題】メソッド作成
private String name<名前用>
private double taijyu<体重用>
private double sincho<身長用>
private double nenrei<年齢用>
private ArrayList eatlist<食べた分蓄積用>
private ArrayList runlist<走った分蓄積用>
メソッド
各プロパティの値を入出力するためのメソッド
getXXXX,putXXX
コンストラクタHito(String name,double taijyu,double sincho,double nenrei)を定義する。
正しい解答を記述したファイルを指定してください。
まず、上記の内容で[Hito]クラスを作成する。eat,runメソッドで設定された値をArrayListに蓄積していく。
eatは食べた分の10分の1体重増加。
runは走った分の100分の1体重減少。
蓄積されたデータを取得するメソッドgetEat,getRunをHitoクラスに作成してそれぞれのArrayListを取得する。
>>383 有難うございます。380のは自己解決できました。
385 :
383 :2006/05/12(金) 12:24:46
386 :
383 :2006/05/12(金) 13:03:51
また自己解決しました。お騒がせして申し訳ありませんでした。
次はもっと上手くやろうな。
【 課題 】テストの点数を複数入力し、平均点を計算するJAVAプログラミングを作りなさい。入力の終わりは空行入力で示すことにしなさい。 また、100より大きい値やマイナスとなる入力は無視するようにしなさい。 【 期限 】5/18 どうか、よろしくお願いします。
389 :
デフォルトの名無しさん :2006/05/12(金) 23:40:58
課題)課題3.Ex04_3.java(ループのネスト) double x=???; double y=Math.sin(x); によって,x ラジアンに対する正弦値を計算してy に 記録することが出来る. キーボードから角度(単位は度で)の最大値を入力し, 0〜最大値まで*でサインカーブを描画 するプログラムを作成せよ.π はMath.PI と言う定 数が用意されているので,それにより度からラジアン に変換すること.1 行が10 度に対応するとする.振 幅や0 の位置は適当に設定せよ. 期限)5/14お願いしますm__m
>> 1 行が10 度に対応するとする. これ、どういうこと? 10度ごとに点を表示して作図するってこと? 全体的に舌足らずで分かりにくい
振幅を適当に設定するって書いてるからよくワカンネ
>>388 import java.io.*;
public class Ave {
public static void main(String[] args) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int sum = 0;
int tmp = -1;
int num = 1;
while(true){
System.out.print(num + "番目のテスト点数を入力してください:");
try {
tmp = Integer.parseInt(in.readLine());
} catch (Exception e) {
break;
}
if(tmp > 100 || tmp < 0){
continue;
}else{
sum += tmp;
num++;
}
}
System.out.println("平均点は" + sum/(num-1) + "点です");
}
}
393 :
392 :2006/05/13(土) 01:00:36
注1)インデントは自分でつける 注2)”入力の終わりは空行入力で示すことにしなさい。”とあるが、このプログラムは 入力した文字を読み込めなかったり数字に変換できなかったりした場合に終了するプログラムである 注3)一番目のテスト点数の入力に失敗すると0除算エラーが起きる 注4)tmpの初期値は特に意味が無い 注5)これを提出して起こられても私は責任を取らない
394 :
389 :2006/05/13(土) 01:28:47
396 :
デフォルトの名無しさん :2006/05/13(土) 21:48:53
【 課題 】1.入力した文字数の合計をカウントして表示するプログラムを作りなさい。 2.整数を入力し、その値の2進数表現(32ビット)と、含まれる1の数をカウントして 出力するプログラムを作りなさい。 【 期限 】5/14 よろしくお願いします。
398 :
デフォルトの名無しさん :2006/05/13(土) 22:47:26
jpgでソースだされたら嫌がらせ以外のなにものでもないなw
399 :
デフォルトの名無しさん :2006/05/13(土) 23:08:02
(課題) 整数a、b、を入力して商と余りを求めて表示するアルゴリズムをループ処理で作成せよ。 a>bとする。 よろしくお願いします。
>>399 動作未確認
import java.io.*;
public class test399
{
public static void main(String[] args){
int a = getConsole("a=");
int b = getConsole("b=");
int i = 0;
for(i = 0;a > 0;i++){
a -= b;
}
System.out.println("商:" + i);
System.out.println("余り:" + (a + b));
}
private static int getConsole(String msg){
System.out.printl(msg);
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String inputValue = buf.readLine();
return Integer.parseInt(inputValue);
}
}
401 :
デフォルトの名無しさん :2006/05/14(日) 03:48:24
【課題】1.会員カードを発行したサービスを行いたいと考えている。会員ごとに定める情報として、 会員番号、氏名、累積ポイント を考えている。以下のフィールドを持つクラスMemberを作成せよ。 ・会員番号を格納するint型の変数num ・氏名を格納するString 型の変数name ・累積ポイントを格納するdouble 型の変数points また、クラスMemberの機能を確認するためのmain()関数を持つクラスPointTestを作成し、 以下の作業を実行せよ。 ・新しいMember型のオブジェクトmember1を作成する ・会員番号に自分の学籍番号下4桁を指定する ・累計ポイントを1000点とする ・3つの情報を画面に表示して確認する 2.課題1で作成したクラスMemberに次の機能を追加せよ。全てのメソッドには、表示さ れているデータが何なのかを示すプロンプトを入れること。 ・会員番号、氏名、累計ポイントを全て表示するメソッドvoid show() ・会員番号を指定するメソッドvoid setNum(int n) ・氏名を指定するメソッドvoid setName(String s) ・累計ポイントを指定するメソッドvoid setPoint(double p) また、main()の内容を、上記のメソッドを一通り使ったものとせよ。 3.課題2までで作成したクラスMemberに次の機能を追加せよ。戻り値は適切なものを 指定する事。 ・会員番号を調べるメソッドgetNum() ・氏名を調べるメソッドgetName() ・累計ポイントを調べるメソッドgetPoint() また、main()中で上記のメソッドを全て試し、正しい結果が得られているかどうか確認 せよ。 【期限】2005/05/15(月) 以上です。家のPCがなぜかJAVAが動かない上、月曜日にすぐ提出なので切羽詰まっています。 是非よろしくお願いします。
402 :
デフォルトの名無しさん :2006/05/14(日) 09:12:23
say;家にPCがないのでできませんでした
どうせパスが通ってないとかじゃねーの
大学で用意するPCにパスが通ってないのかよ・・
コンパイル時のエラーについて教えてください。 public class list4{ public static void main(String[]args){ TurtleFramef; f = new TurtleFrame(); Turtle m = new Turtle(); Turtle ml = new Turtle(); f.add(m); f.add(ml); m.fd(100); m.rt(90); m.fd(150); ml.rt(90); ml.fd(100); } } と作ってみたのですがコンパイルすると 3行目のTurtleFramef; で文字ではありません。というエラーがでてしまいます。 調べたところ、不要な文字があるとこのエラーがでるという事だったのですが 何か間違いがあればご指摘おねがいします。
>>406 まず、TurtleFramef;→TurtleFrame f;
>>401 課題1
class Member {
int num;
String name;
double points;
}
class PointTest {
public static void main(String[] args) {
Member member1 = new Member();
member1.num = 1234; //←適当に入れたので変えてほしい
member1.name = "漏れ"; //←氏名は入れなくていいのか?
member1.points = 1000.;
System.out.println("会員番号:" + member1.num);
System.out.println("氏名:" + member1.name);
System.out.println("累積ポイント:" + member1.points);
}
}
課題2 class Member { int num; String name; double points; void setNum(int num) { this.num = num; } void setName(String name) { this.name = name; } void setPoint(double points) { this.points = points; } void show() { System.out.println("会員番号:" + num); System.out.println("氏名:" + name); System.out.println("累積ポイント:" + points); } } class PointTest { public static void main(String[] args) { Member member1 = new Member(); member1.setNum(1234); //←適当に入れたので変えてほしい member1.setName("漏れ"); //←氏名は入れなくていいのか? member1.setPoint(1000.); member1.show(); } }
課題3 class Member { int num; String name; double points; int getNum() { return num; } void setNum(int num) { this.num = num; } String getName() { return name; } void setName(String name) { this.name = name; } double getPoint() { return points; } void setPoint(double points) { this.points = points; } void show() { System.out.println("会員番号:" + num); System.out.println("氏名:" + name); System.out.println("累積ポイント:" + points); } } class PointTest3 { public static void main(String[] args) { Member member1 = new Member(); member1.setNum(1234); //←適当に入れたので変えてほしい member1.setName("漏れ"); //←氏名は入れなくていいのか? member1.setPoint(1000.); System.out.println("メソッドshow()"); member1.show(); System.out.println("メソッドgetNum() = " + member1.getNum()); System.out.println("メソッドgetName() = " + member1.getName()); System.out.println("メソッドgetPoint() = " + member1.getPoint()); } }
>>407 さん
ご指摘ありがとうございます。
407さんのをやってみると
3,4,5,6行目で
シンボルを見つけられません。
と出るのですが他にも間違っている箇所があるのでしょうか?
スレ違いでしたか、申し訳ありませんでした;
_, ,_ ( ^ё^) タイトルに書いてあるやん。ヤダァ、見ないで!恥ずかしい… (つ/ ) |`(..イ 彡サッ しし'
416 :
デフォルトの名無しさん :2006/05/14(日) 14:10:40
>>400 どうコンパイルしてもエラーがでます。
原因をおしえてください。
>>416 16行目:System.out.printlになってる。System.out.printlnが正しい。
その他:
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String inputValue = buf.readLine();
の部分が例外処理されていない。
_, ,_ ( ^ё^) そんな間違い指摘せんといてよ。ヤダァ、見ないで!恥ずかしい… (つ/ ) |`(..イ 彡サッ しし'
419 :
デフォルトの名無しさん :2006/05/14(日) 15:34:47
sun java のサイト今、DLできないの?sdkをDLしようとおもったけど、 できない。メンテナンスなのかな?だれか試してみてくれる? オレのパソコンだけの問題ではないとおもうんだけど。
>>419 俺もできんかった。
The Sun Download Center is temporarily unavailable. We will restore the site as soon as possible.
Please try again later. We apologize for any inconvenience.
421 :
デフォルトの名無しさん :2006/05/14(日) 15:42:28
いつじゃヴぁーDLできるんだろ。。 早くサイトを復活してほしゅ。
>>419 こっちでもDLできないよ。
15:00ぐらいからできないからメンテ中なんじゃない?
>>422 漏れは14:00ぐらいからDLしようと行ったが、だめだった。
他のじゃヴぁDLミラーサイトは無いものか?!。。
まぁ、日曜日だから気長にまつか。。
425 :
422 :2006/05/14(日) 15:54:34
426 :
デフォルトの名無しさん :2006/05/14(日) 16:08:14
>>408 有難う御座います!!大変助かりました。
「課題」Turtleを使い星型を書きなさい。 public class list44{ public static void main(String[]args){ TurtleFrame f; f = new TurtleFrame(); Turtle m = new Turtle(); Turtle ml = new Turtle(); f.add(m); f.add(ml); m.fd(150); m.lt(); m.fd(150); m.lt(); m.fd(150); m.lt(); m.fd(150); m.lt(); m.fd(150); } } 一筆書きを描きたいのですが・・・ ここまではできて()に色々な数字を入れてみているのですが どうしてもうまく星型になってくれません。 よろしくお願いします。
タートルクラスってなんだよ
テンプレも使わないしもう _, ,_ ( ^ё^) ヤダァ、見ないで!恥ずかしい… (つ/ ) |`(..イ 彡サッ しし'
>>427 TurtleクラスとTurtleFrameクラスのソースを出せ
話はそれからだ
脳ミソまで亀野郎だな。 宿題難しくって手も足も出ないってか?
【課題】Testクラスにファイル名を指定できるファイル出力用のメソッドを作成し、 長さ、重さをファイルに出力する。 出力フォーマットは[長さ],[重さ],[改行]となるようにする。 【補足】 import java.util.*; public class Test { private double nagasa; private double omosa; public void putNagasa(double name) { this.name = name; } public double getNagasa() { return this.nagasa; } public void putOmosa(double omosa) { this.omosa = omosa; } public double getOmosa() { return this.omosa; }
public void putNagasa(double name) { this.name = name; } public double getNagasa() { return this.nagasa; } 謎
【課題】Testクラスにファイル名を指定できるファイル出力用のメソッドを作成し、 長さ、重さをファイルに出力する。 出力フォーマットは[長さ],[重さ],[改行]となるようにする。 【補足】 import java.util.*; public class Test { private double nagasa; private double omosa; public void putNagasa(double nagasa) { this.name = nagasa } public double getNagasa() { return this.nagasa; } public void putOmosa(double omosa) { this.omosa = omosa; } public double getOmosa() { return this.omosa; } ですorz
>>434 メソッド名は適当に直してくれ
public void hoge(String fileName) throws IOException {
PrintWriter out = new PrintWriter(fileName);
out.println(nagasa + "," + omosa + ",");
out.flush();
out.close();
}
436 :
デフォルトの名無しさん :2006/05/15(月) 15:27:44
分からないの教えてください。19日までにお願いします。ひな形は後で載せます。 選択ソートの実行過程・実行ステップ数を調べるプログラムを作りたい。 ひな形プログラム中の次の各メソッドを完成させよ。完成すると、選択ソートの 実行過程を表示しながらソートを実行してくれるようになる。 1-1:配列の要素を入れ替えるメソッドを完成させよ。 1-2:最小値のある場所を見つけるメソッドを完成させよ。 1-3:配列の内容を表示するメソッドを完成させよ。 1-4:配列にランダムな値を代入して初期化するメソッドを完成させよ。 1-5:選択ソートを実行するメソッドを完成させよ。 1-6:mainメソッドを完成させ、ソート過程を表示しながら選択ソートを実行するよう にせよ。 1-7:作成したプログラムが正しく選択ソートを実行していることが分かる 実行結果を示し、正しく動作していることを説明せよ。 1-8:考察・感想・デバッグ履歴を述べよ。
437 :
デフォルトの名無しさん :2006/05/15(月) 15:30:27
class SelectionSort{ //比較回数を覚えておくための変数 intcompare = 0; //コピー回数を覚えておくための変数 int copy = 0; static void swap(int a[], int i, int j) { //1-1:配列の要素を入れ替えるメソッド //動作:配列aの要素a[i]とa[j]の値を入れ替える //例: a[0]=10, a[1]=30, a[2]=20の場合 // swap(a,1,0)を実行するとa[0]=30, a[1]=10, a[2]=20となる。 // swap(a,1,2)を実行するとa[0]=10, a[1]=20, a[2]=30となる。 //★以降を適切に埋めよ int tmp; }
438 :
デフォルトの名無しさん :2006/05/15(月) 15:31:31
static int findMin(int a[], int N, int from) { //1-2:最小値のある場所を見つけるメソッド //動作:N個の要素を持つ配列aに対し、a[from]からa[N-1]の間にある //最小値を見つけ、最小値のある場所の添え字を返す //最小値を見つけるまでに行った比較回数を変数compareに加算 //例: a[0]=10, a[1]=30, a[2]=20の場合 // findMin(a,3,0)は0を返す(a[0]からa[2]の範囲ではa[0]が最小値だから) //compareの値は2増える。 // findMin(a,3,1)は2を返す(a[1]からa[2]の範囲ではa[2]が最小値だから) //compareの値は1増える。 //★以降を適切に埋めよ int min = 0; int i; return min; } static void showArray(int a[], int N) {
439 :
デフォルトの名無しさん :2006/05/15(月) 15:32:49
//1-3:配列の内容を表示するメソッド //動作:N個の要素を持つ配列aの要素を全て画面に表示する //例: a[0]=10, a[1]=30, a[2]=20の場合 // showArray(a,3)を実行すると画面に // 10 30 20 // と表示される。 //★以降を適切に埋めよ } static void initArray(int a[], int N) {
440 :
デフォルトの名無しさん :2006/05/15(月) 15:33:28
//1-4:配列にランダムな値を代入するメソッド //動作:N個の要素を持つ配列aに対し、1〜Nまでの範囲の数をランダムに入れる //ただし、a[0]には常に0を入れること。 //ヒント:次のようにして乱数を使えば1〜Nまでの範囲の数をランダムに1つ作れる //double n; //n = (int)(java.lang.Math.random()*(N-1)) + 1; // //配列に入れる値に重複が無ければ望ましい //★以降を適切に埋めよ } static void selection(int a[], int N) { inti;
441 :
デフォルトの名無しさん :2006/05/15(月) 15:39:45
//1-5:選択ソートを実行するメソッド //動作:選択ソートの過程を表示しながら、N個の要素を持つ配列aをソートする //もう少し詳しく書くとこうなる。 /* 選択ソートの手順: iの値を1からN-1まで増やしながら次のことを行う。 1.findMinメソッドを使って、a[i]からa[N-1]の間にある最小値の場所min を探す 2.swapメソッドを使って、a[i]とa[min]の値を入れ替える 3.showArrayメソッドを使ってソート途中の配列aの内容を表示する */ //★以降を適切に埋めよ } public static void main(String args[]) {
442 :
デフォルトの名無しさん :2006/05/15(月) 15:40:59
//1-6:上で作ったメソッドを用いて、ソート過程を表示しながら //選択ソートを実行 //手順は次のようになる。 /* 1.要素を(20個もつ)整数型配列aを宣言 2.整数型変数Nに配列aの要素数を保存 3.initArrayメソッドを用いて配列aを初期化 4.showArrayメソッドを用いてソート前の配列aの内容を表示 5.変数compareの値を0に初期化 6.selectionメソッドを用いて配列aを選択ソート 7.showArrayメソッドを用いてソート後の配列aの内容を表示 8.ソートにかかった比較の回数を表示 */ //★以降を適切に埋めよ } } 以上がひな形です。長くてすみませんがどうかお願いします。
気利かせて雛形あきこの乳も貼れ!!
ここだけ
1-8:考察・感想・デバッグ履歴を述べよ。
2ちゃんねるの宿題スレで教えてもらいました。
全角スペースのインデントに気付かず、何度もデバッグしてしまいました。
宿題の出題は
>>1 のテンプレを使ったものになるといいと思います。
445 :
デフォルトの名無しさん :2006/05/15(月) 22:00:37
447 :
446 :2006/05/16(火) 16:00:32
すみません追加です remove()で、削除できる要素を指定できるようにプログラムを改良せよ。 例)theQueue.remove(60)と実行すると60を配列から削除できるようにする
449 :
446 :2006/05/16(火) 19:05:32
451 :
446 :2006/05/16(火) 19:27:01
>>450 続きというか、ソートはしてもしなくても良いが結果の表示が
>>449 のようになるように、という問題です
453 :
446 :2006/05/16(火) 19:55:59
>>452 あ、「+20 → 」や「-40 → 」等も実行結果の表示に入ってないといけないんです…
ややこしい書き方ですみません
454 :
448 :2006/05/16(火) 20:45:08
455 :
452 :2006/05/16(火) 21:12:05
456 :
446 :2006/05/16(火) 21:17:42
>>454 できました、本当にありがとうございます
助かりました
457 :
446 :2006/05/16(火) 21:19:16
>>455 もありがとうございます
色々やり方あるんですね…
458 :
デフォルトの名無しさん :2006/05/17(水) 19:27:45
【 課題 】 ハッシュ表を使って個人情報を保存する次のアプリケーションを作成せよ。 学籍番号をキーとして使用し、Personオブジェクトで値を表わす。 Personオブジェクトには、氏名、電話番号、Fax番号、電子メール番号を保存する。 ハッシュ表のすべてのキー/値ペアを表示せよ。 【 期限 】 5月19日まで 丸投げで恐縮ですが、まったくわかりません。 どなたかお願いできますでしょうか?
HashMap使ったらいいんじゃねーか?
460 :
458 :2006/05/17(水) 20:18:11
ハッシュマップとはなんですか? とりあえずこれを満たすプログラムを組めと言われたんですが、わからなすぎて涙も出ません。
ハッシュとかオブジェクトの意味すら分からんとか。
462 :
デフォルトの名無しさん :2006/05/17(水) 20:33:53
4桁の西暦年をキーボードから入力し入力された西暦が閏年か閏年でないか 判別するプログラム。 誰かお願いします。
463 :
458 :2006/05/17(水) 21:04:51
>>461 それすらよくわかりません。
なんで理系行ったのかと後悔の毎日です。
>>462 >>1 > 【Java宿題スレッド基本ルール・五箇条の御誓文】
> 1:問題文は自己省略せずに、直接全部貼り付けてください。
> 2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
> 3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
> 4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
> 5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。
> 【課題提示用テンプレ】
> 【 課題 】与えられた課題文をそのまま書きます 《必須》
> 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
> 【 期限 】提出期限、解答希望日があれば書きます
> 【 Ver 】希望するJavaバージョンがあれば書きます
> 【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
> 丸投げでない場合は、途中までのソースとその経過報告、
> 質問点、疑問点を書きます(なるべく丸投げにしてください)
とりあえず閏年である条件を述べよ
>>462 class Y4 {
public static void main(String[] args) {
int y = Integer.parseInt(args[0]);
if (y%4 == 0) {
System.out.println("うるう年です。オメデd");
} else {
System.out.println("どう見てもうるう年ではありません。本当にありがとうございました。");
}
}
閏年? ・4で割れて100で割れない ・4で割れて100で割れて400で割れる
468 :
デフォルトの名無しさん :2006/05/17(水) 22:16:26
javaプログラミングの課題なのですが、恐縮ながら・・・まったくわかりません!!
丸投げ状態、はっきり言ってお手上げです。
ちょっと追い込まれています。。
わかる方、ぜひお願いいたします。
【 課題 】
これまでのプログラムを利用して,下記のどれかのプログラムを作成してください.
(1)ネットワーク対戦型○×ゲーム
(2)ネットワーク対戦型リバーシゲーム(オセロゲーム)
上記とチャット機能を一緒に持つこともできます.ちょっと頑張れば,下記も作れます.
(3)ネットワーク対戦型ダイヤモンドゲーム
(4)ネットワーク対戦型チェス
(5)ネットワーク対戦型将棋
(6)ネットワーク対戦型囲碁
(7)ネットワーク対戦型カードゲーム
その他,ネットワーク対戦型??なら何でもOKです.
また,一方が動いて,相手も動いて,何かしら通信が生じてそれなり意味があるならOKです.面白いものを期待しています.
様々なメッセージ(サンプルプログラムは「MOVE」だけですが,さらにいろいろ)を使えるようにするなど,苦労(工夫)の跡を見せてください.
その他,工夫とオリジナルに応じて高評価になります.
【 用語 】
【 期限 】5月19日金曜日23時59分まで
【 Ver 】
【 補足 】こちらを参照していただくと、わかりやすいかと思います。
http://yoshino.sys.wakayama-u.ac.jp/netprog/ なるべく簡単なゲームがよいかと思います。○×ゲームなんかがいいかと・・・。
よろしくお願いいたします。。。
public class LeapYear { public static boolean isLeapYear(int year) { return year % 4 == 0 && year % 100 != 0 || year % 400 == 0; } public static void main(String[] args) { java.util.Scanner in = new java.util.Scanner(System.in); while(true) { System.out.print("西暦を入力してください => "); System.out.println(isLeapYear(in.nextInt()) ? "うるう年です" : "うるう年ではありません"); } } }
またモロバレの奴が・・
講義から班までバレバレじゃん
犯人はこの17人の中にいる!!
474 :
468 :2006/05/17(水) 22:47:57
捨て身です。よろしくお願いします。
そんなアナタのために…通報しますた。 時間帯のせいか、 担当の方居ないみたいですが…
教えてgooも危険だしここも危険・・・
468は難しすぎて解けません
同じく468は難しすぎて解けません
そういって熟練者の 技の見せたがり心を煽ろうったって そうはイカの……
逆だろうw
481 :
デフォルトの名無しさん :2006/05/18(木) 03:45:50
>468 過去の作品を見たけども、みんなあのくらいの出来なの? なんだか、同じ大学生としてかなりショック・・・・・・。
482 :
468 :2006/05/18(木) 04:06:44
ありがとうございます。それが、うち(W大学)の学科は、情報系ではありません。だからどうしても、プログラミングが苦手な人が多いのです(私も含めて)。
過去の作品すごすぎってことでしょう。 情報系の院生でもああいうの作れない人多いと思うが。。。
>>483 あんたの知ってる情報系院生はどんだけ雑魚なんですか
485 :
名無しさん :2006/05/18(木) 13:03:55
課題なのですが講師からの説明なし、本を読んでも理解不能です。 どうかご協力お願いします。 1、最大公約数と最小公倍数を求めるプログラムの計算部分を別の関数(メソッド)にしたプログラムに変更せよ。 例:keisanという関数名にした場合、第一引数と第二引数に課題渡す。 そしてoutput1に最大公約数、output2に最小公倍数が帰ってくるようにする。 2、最大公約数、最小公倍数の2点交差のプログラムを作った場合for文が6個になるがそのfor文を1つにできるように出力の関数に分けなさい。 3、文字列のワイルドカード処理を行うプログラムを作成せよ、ワイルドカード処理とは以下のような処理である。 *は無限に利用できるようにする。 出力例:入力 abcdefg b*c、 出力 bc 入力 abcdefghijk b*d*i 出力 bcdefghi 入力 abcdefg b*g 出力 bcdefg 入力 abcdefg b*t 出力 存在しない これは再起呼び出しと言い、自分で自分の関数を呼び出すこと。 期日ですが1と2は五月21日23時59分までにお願いします。 3は5月28の23時59分でOKです。 少し長文になりましたがお願いします。
486 :
名無しさん :2006/05/18(木) 13:04:34
課題なのですが講師からの説明なし、本を読んでも理解不能です。 どうかご協力お願いします。 1、最大公約数と最小公倍数を求めるプログラムの計算部分を別の関数(メソッド)にしたプログラムに変更せよ。 例:keisanという関数名にした場合、第一引数と第二引数に課題渡す。 そしてoutput1に最大公約数、output2に最小公倍数が帰ってくるようにする。 2、最大公約数、最小公倍数の2点交差のプログラムを作った場合for文が6個になるがそのfor文を1つにできるように出力の関数に分けなさい。 3、文字列のワイルドカード処理を行うプログラムを作成せよ、ワイルドカード処理とは以下のような処理である。 *は無限に利用できるようにする。 出力例:入力 abcdefg b*c、 出力 bc 入力 abcdefghijk b*d*i 出力 bcdefghi 入力 abcdefg b*g 出力 bcdefg 入力 abcdefg b*t 出力 存在しない これは再起呼び出しと言い、自分で自分の関数を呼び出すこと。 期日ですが1と2は五月21日23時59分までにお願いします。 3は5月28の23時59分でOKです。 少し長文になりましたがお願いします。
487 :
名無しさん :2006/05/18(木) 13:07:55
課題渡す→値を渡すでした
> 1、最大公約数と …(中略)… プログラムに変更せよ。 「変更せよ」ってことは元ソースがあるんだろ。出せ。 > そしてoutput1に最大公約数、output2に最小公倍数が帰ってくるようにする。 フィールドに入れるのかオブジェクトに入れるのか分からん。 > 2点交差 やり方書け。 > 文字列のワイルドカード処理 通常はマッチングしたかどうかなんだが。まあいいけど。 「マッチした文字列」ならそうと書け。 全体的に問題文をそのまま書いてないくさい。問題文と元ソースを正確に晒せ。
489 :
488 :2006/05/18(木) 13:26:22
ていうかさ、マッチング処理でマッチした文字列が欲しければ、最短一致が欲しいのか最長一致が欲しいのかをはっきりしてくれ (最長一致は実装が面倒だから最短一致だとはおもうけどさ)
_, ,_ ( ^ё^) ヤダァ、見ないで!恥ずかしい… (つ/ ) |`(..イ 彡サッ しし'
日本語が不自由すぎ
課題を持ってくる奴がアホすぎてやる気失せる
494 :
デフォルトの名無しさん :2006/05/18(木) 16:55:47
【課題】 ○1○2○3○4○5○6○7○8○9 ここの○のなかに「+」、「−」、「なにもいれない」の三種類のどれかがはいる。 ただし何も入れない場合は前後の数字がつながることになる。 例(-12+3+456-78-9など) 計算結果が100となるにはどのように符号を入れればよいか? ただし一番左の○には「+」を入れてはいけないものとする 【用語】とくになし 【期限】5月末まで 【Ver】とくになし 【補足】とくになし
496 :
デフォルトの名無しさん :2006/05/18(木) 17:10:14
うわあ・・・
>>494 テンプレには書かれていない
じゅうような事が抜けていると思うよ。
499 :
デフォルトの名無しさん :2006/05/18(木) 22:04:50
質問なんですが、今、JAVAをやっててその中でXMLやXSPもやっているんですが、 その中でXSP中に<xsp:logic>内でJAVAを使うんですが、そのときどうしても IF文で < や > 比較演算子が使えません。 他に ==や ||は使えるんですが、教えてくださいペコm(_ _;m)三(m;_ _)mペコリ
>>494 10 PRINT "123-45-67+89"
501 :
JAVA初心者 :2006/05/18(木) 23:05:24
こんにちは。今TORQUEで開発を試みていますが、org.apache.torque.Torqueがインポートできないとエクリプスに怒られます。何がたりなくて、どうなっているのでしょう?もう、頭が爆発しそうです、、わかる方、よろしくお願いします。
504 :
JAVA初心者 :2006/05/18(木) 23:23:59
502さん、、すいませんでした。書き込むところを間違えました。。。
【 課題 】
三刺激値XYZ(Yxy)から、RGB値に変換して、以下のURLのようなxy色度図を描きなさい。ただし縦横の軸は付けなくてかまいません
ttp://gc.sfc.keio.ac.jp/class/2005_22267/slides/04/38.html 【 用語 】
三刺激値XYZ:色彩学で最もよく用いられるのがXYZの三刺激値である。
三色表色系において試料の色に等色させるために必要な原刺激の量を表わす言葉なのでRGBのような三刺激値もある。
XYZは基本的には赤緑青の色光の強さを表わすがXとZとは明るさを持たない赤と青であり明るさはY値のみに持たせている抽象的な3原色である。
xy色度図:人間が見ることが可能な色(波長)を、二次元で表現したもの
【 期限 】5月25日(木)
【 補足 】
ttp://www.cs.rit.edu/~ncs/color/API_JAVA/source.html 上の「Diagram.java」と「ChromaticityData.java」を使うと描けると思うのですが(たぶんほとんど答え?)、表示系のプログラムにまったく触れていないもので、どうやって表示させるのかわかりません。
色彩工学の知識がないと変換の式とかわからないかもしれませんが、どうかよろしくお願いします。
509 :
436 :2006/05/22(月) 14:23:04
>>445 遅れてすみません。ありがとうございました。
>>508 本当にこのプログラムちゃんとできてるか?
ArrayIndexOutOfBoundsExceptionが飛んでくるんだが
511 :
デフォルトの名無しさん :2006/05/22(月) 16:19:07
linkList2.javaに次の改良をすべてほどこし、 改良後のプログラム・実行結果を示せ。 改良1) findメソッドに手を加え,指定したデータ項目(キー)がリストの先頭から何番目にあるのかを表示するように改良せよ.指定したデータ項目がリスト中に無い場合は,画面に「見つかりません」と表示させよ. 改良2) 連結リストの最後尾に入っているデータ項目を削除するメソッド(名前を deleteLast とする)を作成せよ. 連結リスト theList に,相異なるデータ項目(各データ項目は,int型とdouble型の数を一つづつ含む.int型の数はキーである)を15個入れて,上記の「改良版findメソッド」と「deleteLastメソッド」をテストせよ. うまくいっていることが分かる実行結果を示し,うまくいっているという説明もすること. 改良後のプログラム全体: 改良後のfindメソッド: deleteLastメソッド:
512 :
511 :2006/05/22(月) 16:20:01
// linkList2.java // demonstrates linked list // to run this program: C>java LinkList2App //////////////////////////////////////////////////////////////// class Link { public int iData; // data item (key) public double dData; // data item public Link next; // next link in list // -------------------------------------------------------------
513 :
511 :2006/05/22(月) 16:20:45
public LinkList() // constructor { first = null; // no links on list yet } // ------------------------------------------------------------- public void insertFirst(int id, double dd) { // make new link Link newLink = new Link(id, dd); newLink.next = first; // it points to old first link first = newLink; // now first points to this } // ------------------------------------------------------------- public Link find(int key) // find link with given key { // (assumes non-empty list) Link current = first; // start at 'first' while(current.iData != key) // while no match, { if(current.next == null) // if end of list, return null; // didn't find it else // not end of list, current = current.next; // go to next link } return current; // found it } // -------------------------------------------------------------
514 :
511 :2006/05/22(月) 16:21:39
public Link delete(int key) // delete link with given key { // (assumes non-empty list) Link current = first; // search for link Link previous = first; while(current.iData != key) { if(current.next == null) return null; // didn't find it else { previous = current; // go to next link current = current.next; } } // found it if(current == first) // if first link, first = first.next; // change first else // otherwise, previous.next = current.next; // bypass it return current; } // -------------------------------------------------------------
515 :
511 :2006/05/22(月) 16:22:23
public void displayList() // display the list { System.out.print("List (first-->last): "); Link current = first; // start at beginning of list while(current != null) // until end of list, { current.displayLink(); // print data current = current.next; // move to next link } System.out.println(""); } // ------------------------------------------------------------- } // end class LinkList //////////////////////////////////////////////////////////////// class LinkList2App { public static void main(String[] args) { LinkList theList = new LinkList(); // make list theList.insertFirst(22, 2.99); // insert 4 items theList.insertFirst(44, 4.99); theList.insertFirst(66, 6.99); theList.insertFirst(88, 8.99); theList.displayList(); // display list
516 :
511 :2006/05/22(月) 17:29:30
Link f = theList.find(44); // find item if( f != null) System.out.println("Found link with key " + f.iData); else System.out.println("Can't find link"); Link d = theList.delete(66); // delete item if( d != null ) System.out.println("Deleted link with key " + d.iData); else System.out.println("Can't delete link"); theList.displayList(); // display list } // end main() } // end class LinkList2App
519 :
デフォルトの名無しさん :2006/05/22(月) 21:12:44
繰り返しの制御文を使ってタートルグラフィックスのプログラムを作成してください。 各線の始まりの点の座標は、(30、300)、(60、300)、・・・(300、300)であり、長さは、20、40、・・・200と20ずつ長くなっていくものとします。
521 :
デフォルトの名無しさん :2006/05/22(月) 21:24:46
すみませんでした。 【 課題 】繰り返しの制御文を使ってタートルグラフィックスのプログラムを作成してください。 各線の始まりの点の座標は、(30、300)、(60、300)、・・・(300、300)であり、長さは、20、40、・・・200と20ずつ長くなっていくものとします。 【 期限 】5月22日23時 【 Ver 】特になし 【 補足 】for文を使って書きます。
>521 ちょwwwwwwwおまwwwwwww短納期すぎwwwwwww てかこーゆーのってタートルグラフィックスっていうの?
523 :
デフォルトの名無しさん :2006/05/22(月) 21:50:50
ほんとすみません!!無理でしょうか?? 形としては public class ファイル名 { public static void main(String[] args){ TurtleFrame f = new TurtleFrame(); Turtle m = new Turtle(); f.add(m); int i; for(i = 初期値; 繰り返し条件; i = i + 増分) { 処理内容 となります!
/⌒ヽ ( ^ω^)おっ♪おっ♪おっ♪ ピョン ( O┳O) ピョン し-||-J ⊂§⊃ § ⌒ヽ〃⌒ヽ〃
TurtleFrameなんてクラスがあるんだな 初めて知った
527 :
デフォルトの名無しさん :2006/05/23(火) 22:25:02
<script type="text/javascript"> function calcWeight(theForm){ var height,weight; height=parseInt(theForm.height.value); if(theForm.sex[0].checked){ //男性の場合 weight=(height-80)*0.7; }else{ //女性の場合 weight=(height-70)*0.6;} theForm.weight.value=weight;} if(weight>0){ theForm.weight.value=weight; }else{ alert("入力"); theForm.weight.value=""; }} </script> どこがおかしいでしょうか?
>>527 Javascript は Web 制作板
529 :
デフォルトの名無しさん :2006/05/24(水) 01:49:29
【 課題 】次のような処理を行うプログラムを作れ。 Which kind of item do you want to add? [cd, book, novel, magazine] >book Author? >NAKANO, Hitori Title? >The train man ok. Which kind of item do you want to add? [cd, book, novel, magagine] >cd Artist? >Low and Mighty Color Title? >Pritz ok. Which kind of item do you want to add? [cd, book, novel, magagine] > [book] The train man (NAKANO, Hitori) [cd] Pritz (Low and Mighty Color) 2 item(s) Which kind of item do you want to add? [cd, book, novel, magagine] > 何も入力しなかった場合は今まで追加されたアイテムの一覧を出力する。 追加と一覧出力以外の機能はない。 一覧における項目の情報を次のように出力しなさい。 CD の場合 [cd] タイトル (アーティスト) Book の場合 [book] タイトル (著者) Novel の場合 [novel] タイトル (著者) p.ページ数 Magazine の場合 [magazine] タイトル vol.巻数 (出版社) なお、novel と magagine に関するプロンプトは適当に作ること。 【 期限 】5月24日水曜日21時59分 【 補足 】継承について勉強した後の課題です。 力不足で考えても分かりません。時間があまりないのですがどなたかお願いします
531 :
デフォルトの名無しさん :2006/05/24(水) 10:22:48
初心者です。力不足なうえ、応用を始めてやります。 おねがいします 四則演算を行うプログラムを作成する 足し算の場合、足す数、四則演算(+)、足される数の入力を受け付け、 どんな計算を行い、どんな結果が得られたかをコンソールに表示させてください。 (足し算の場合) 入力1:足す数 入力2:四則演算 入力3:足される数 注)割り算の場合、小数点以下2桁まで表示。 少数点以下3桁目を切り捨てること。 例外について 起こりうる全ての例外をキャッチしてください。 例外時は、どんな例外が起きたのかコンソールに表示させてください。 IOException(IOエラー時): IOエラーが発生しました。 NumberFormatException(数値以外が入ってきた)): 入力された数値が正しくないようです ArithmeticException(0で割ろうとした時): 0で割ることはできません! 26日午前6時締め切りです。
>>529 やってみた
zipで6kbなんだが、どこにあげたらいい?
533 :
532 :2006/05/24(水) 12:04:54
535 :
534 :2006/05/24(水) 13:07:10
>>530 Pageって何
Pageとページは別物か
本当に丸投げか?
537 :
529 :2006/05/24(水) 16:55:48
>>533 どうもありがとうございました!
参考にさせていただきます。
538 :
530 :2006/05/24(水) 17:04:24
>>536 丸投げです
さっぱり意味が分からなかったので問題文もそのままなんですが…
539 :
デフォルトの名無しさん :2006/05/24(水) 19:41:48
>>531 とりあえず、作ってみた
動くけど、趣味に走ったコーディングなので
参考レベルにしとくように
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
public class Calculator {
/** オペレータのマップ */
private static final Map operators = new HashMap();
// オペレータのマップ作成
static {
operators.put("+", "add");
operators.put("-", "subtract");
operators.put("/", "divide");
operators.put("*", "multiply");
}
540 :
デフォルトの名無しさん :2006/05/24(水) 19:42:53
public BigDecimal calc(final BigDecimal arg0, final BigDecimal arg1, final String operatorSimbol, final int scale) throws Exception { BigDecimal arg = new BigDecimal(arg0.toString()) { public BigDecimal divide(BigDecimal decimal) { return super.divide(decimal, scale, BigDecimal.ROUND_HALF_UP); } }; arg.setScale(scale, BigDecimal.ROUND_HALF_UP); arg1.setScale(scale, BigDecimal.ROUND_HALF_UP); String operatorString = (String) operators.get(operatorSimbol); if (operatorString == null) { throw new IllegalArgumentException("四則演算以外の演算子です。"); } Class[] argClasses = {BigDecimal.class}; Method method = BigDecimal.class.getMethod(operatorString, argClasses); BigDecimal[] args = new BigDecimal[1]; args[0] = arg1; try { return (BigDecimal) method.invoke(arg, args[0]); } catch (InvocationTargetException ite) { throw (Exception) ite.getCause(); } }
541 :
デフォルトの名無しさん :2006/05/24(水) 19:43:44
private static String getInput() throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader( System.in)); String line = reader.readLine(); if (line != null) { line = line.trim(); } else{ line =""; } return line; }
public static void main(String[] args) { try { System.out.print("数を入力してください。> "); String argString0 = getInput(); System.out.print("四則演算子を入力してください。> "); String operator = getInput(); System.out.print("数を入力してください。> "); String argString1 = getInput(); BigDecimal arg0 = new BigDecimal(argString0); BigDecimal arg1 = new BigDecimal(argString1); BigDecimal res = new Calculator().calc(arg0, arg1, operator, 2); System.out.println("答え>" + res.setScale(2, BigDecimal.ROUND_HALF_UP)); } catch (IOException ie) { System.out.println("IOエラーが発生しました。 "); } catch (NumberFormatException ne) { System.out.println("数値以外の値が入力されました。"); } catch (ArithmeticException ae) { // 0で除算以外のエラーも考えられるので駄目だよ。 System.out.println("0で除算されました。"); } catch (IllegalArgumentException iae) { // "四則演算以外の演算子が入力された以外のエラーも考えられるので駄目だよ。 System.out.println("四則演算以外の演算子が入力されました。"); } catch (Exception e) { System.out.println("想定外のエラーです。"); e.printStackTrace(); } } }
543 :
539 :2006/05/24(水) 22:11:14
545 :
539 :2006/05/24(水) 22:54:36
>>544 Download as file でダウンロードしてもらえば
きちんと、コメント部分だけコメントになう。
エンコードはunicode(utf-8)になるみたい
546 :
デフォルトの名無しさん :2006/05/26(金) 15:06:05
【 課題 】Robocodeでは出現位置は毎回ランダムなので、必ずフィールド中央に移動し、
停止するように修正しなさい。
【 期限 】5月29日まで
【 補足 】Robocodeは
http://robocode.sourceforge.net/ の1.0.7を使って下さい。
いくつかメソッドを書いておきます。
getX() 自機のx座標、getY() 自機のy座標
getBattleFieldWidth() バトルフィールドの幅を習得
getBattleFieldHeight() バトルフィールドの高さを習得
getHeding() 自機の向きを習得
よろしくお願いします
547 :
デフォルトの名無しさん :2006/05/26(金) 20:47:57
【 課題 】一日のうち、当該時間が何秒経過しているかを表示。 1〜24の間の数字を入力し、仮に1を入力した場合は「3600秒経過」と表示される。 【 期限 】17時間以内 【 補足 】promptに入力し、アラートで結果を表示する。 初心者で、何度やっても失敗しているのでお力を貸して頂けると助かります。 よろしくおねがいします。
>>547 class R547 {
public static void main(String[] args) {
int t = 0;
try {
t = Integer.parseInt();
} catch (NumberFormatException e) {
Systen.out.println("1〜24の数字を入力してください");
return;
}
if (t >= 1 && t <=24) {
System.out.println(t*3600 + "秒経過");
} else {
Systen.out.println("1〜24の数字を入力してください");
}
}
}
Integer.parseInt();→Integer.parseInt(args[0]);
550 :
デフォルトの名無しさん :2006/05/26(金) 21:29:39
>>546 かなりテキトウ
double difX = getBattleFieldWidth()*0.5 - getX();
double difY = getBattleFieldHeight()*0.5 - getY();
double difAngle = (180.0/Math.PI)*Math.atan2(difY,difX) - getHeading();
double distance = Math.sqrt(difX*difX+difY*difY);
if(difAngle>0.0){
551 :
デフォルトの名無しさん :2006/05/26(金) 21:32:13
550失敗やり直しorz かなりテキトウ 検証はしていない double difX = getBattleFieldWidth()*0.5 - getX(); double difY = getBattleFieldHeight()*0.5 - getY(); double difAngle = (180.0/Math.PI)*Math.atan2(difY,difX) - getHeading(); double distance = Math.sqrt(difX*difX+difY*difY); if(difAngle > 0.0) { turnLeft(difAngle); } else { turnRight(difAngle); } ahead(distance);
552 :
デフォルトの名無しさん :2006/05/26(金) 21:33:06
また間違えたorz else { turnRight(-difAngle); }
すいません、ちょっとずれた問題かもしれませんが Cで記述されたプログラムをJavaに書き直しなさいといった 問題を聞いてもいいですか?
宿題ならいいよ
555 :
553 :2006/05/27(土) 17:53:05
>>555 import java.io.*;
class Automaton{
private static final int INPUT = 0;
private static final int STATE = 1;
private String now_state;
private String output_data;
public Automaton(){
initialize();
now_state = "0";
output_data = "void";
}
public void initialize(){
}
public void finish(){
}
public void display_automaton(String input){
System.out.println(" +-------------+ \n");
System.out.println(" 入力 | 状態 | 出力\n");
System.out.println(" " + input + " -->| " + now_state + " | --> " + output_data);
System.out.println(" | | \n");
System.out.println(" +-------------+ \n");
}
public void state_transition(String in){ if (now_state.equals("0")){ if (in.equals("100")){ now_state = "100"; output_data = "void"; }else{ error_msg(INPUT); } }else if (now_state.equals("100")){ if (in.equals("100")){ now_state = "200"; output_data = "void"; }else{ error_msg(INPUT); } }else if (now_state.equals("200")){ if (in.equals("100")){ now_state = "0"; output_data = "ticket"; }else{ error_msg(INPUT); } }else error_msg(STATE); }
public void error_msg(int foo){ switch (foo){ case INPUT: System.out.println("入力データが間違っています"); finish(); System.exit(1); break; case STATE: System.out.println("状態の指定が間違っています!"); finish(); System.exit(1); break; } } } public class AutomatonApp{ public static void main(String[] args){ Automaton automaton = new Automaton();//コンストラクタでinitialize() BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input_data = "void"; try{ while (true){ automaton.display_automaton(input_data); input_data = br.readLine(); automaton.state_transition(input_data); } } catch (Exception ex){ } } }
559 :
デフォルトの名無しさん :2006/05/28(日) 13:01:59
【 課題 】@f (x) = cos (x) - x2 = 0 の根のうち、0 < x < 1 を満たすものを2分法で求める Java アプリケーション (Java Application) を作成しなさい。 その Java アプリケーション (Java Application) は、初期値 a, b が入力でき、 6桁推定された解と関数 f (x) を呼びだした回数を出力するようにしなさい。 また、プログラムの構造は以下のようにすること。 Af (x) = (x-1) (x-2) (x-3) の根を2分法で求める。根は 1,2,3 の3つである。 初期値 a, b を (a,b) = (-5,10)としたとき、どの根が計算されるか説明せよ。 【 期限 】提出期限 6月1日の終わりまで 【 補足 】@は途中まで中身が指定されているので/**/が書いている部分をつくってください。 ただしAは指定はありません。よろしくお願いします。 class Kadai6 { /* ここに関数を定義する */ static double f(double x) { return 『関数の中身』; } public static void main(String[] args) { System.out.println(
560 :
553 :2006/05/28(日) 14:16:53
561 :
デフォルトの名無しさん :2006/05/29(月) 22:50:45
【 課題 】 1行ごとに6, 1.5, 3が記録されているデータファイルKiroku.txtを作成しなさい。 次に、そのデータファイルからデータを読み込んでその2乗を求めるプログラムKiroku.javaを作成しなさい。 求められた結果は画面に表示するものとします。 java.io.*のインポートが必要です。 【 期限 】 2006/05/30 午前8時まで 【 補足 】 予習として出された問題ですが、まだimportを習ったばかりの右も左もわからないひよっこです。 Verというのもわかりませんが結構最近のやつだったような気がします。 丸投げですが、お願いします。
562 :
デフォルトの名無しさん :2006/05/29(月) 23:57:05
outloop: for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ if(i==1&&j==1) break outloop; System.out.println("i="+i+",j="+j); } } 表示される結果は何かという問題です。breakをcontinueに書き換えた場合の結果もお願いします!
563 :
デフォルトの名無しさん :2006/05/30(火) 00:01:12
>>562 忘れてましたが、5/30の朝8時までにお願いします。
実行してみろよと言いたいが・・
565 :
デフォルトの名無しさん :2006/05/30(火) 00:31:12
>>562 「'class' または 'interface' がありません。」
outloop: ^
568 :
デフォルトの名無しさん :2006/05/30(火) 18:26:17
569 :
デフォルトの名無しさん :2006/05/30(火) 18:29:54
とぎれてしまいました…
>>568 の続きです
Parent nodeは"+"で表示し、葉にはデータそのものを印字する。
【 用語 】B-tree:balanced treeのことです
【 期限 】2006/6/2(木)まで
【 Ver 】なし
【 補足 】
・ここで言うPageの大きさとは、各Nodeが持つ子の数のことです
・親となる全てのノードは値を持たず、"+"と表示するようです
(値が"+"でも構いません)。つまり値を持つのは最下層の葉のみ
・教授は親Nodeにminとmaxのindexをつければ探索できるようになると
言っていました
かなり頑張っても無理でした…よろしくお願いします
>>530 の、誰か分かりませんでしょうか
やっぱり難しすぎるんでしょうか…
そんなことはないと思うがだるい
>>530 さんが既に丸投げしてたのに今気付きましたw
どうやら面倒すぎる宿題はスルーされるみたいすね(´・ω・`)
インデント規則が自分勝手で、読みたくない。
import java.io.*; class Sample7 { public static void main(String args[]) throws IOException { System.out.println("テストの点数を入力してください。(-1で終了) "); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = 0; int sum = 0; int div = 0; do{ String str = br.readLine(); num = Integer.parseInt(str); sum += num; div =sum/unm; }while(num != -1); System.out.println("テストの平均点は" + div + "点です。"); System.out.println("テストの合計点は" + sum + "点です。"); } } do〜while文を使って合計点、平均点を出したいですが 合計点は出てくるんですが、どうあがいても平均点が(-合計点)とおかしなことになってしまいます 上手く、同時に出すにはどうすればいいんでしょうか?
575 :
デフォルトの名無しさん :2006/05/31(水) 15:19:46
>>574 滅茶苦茶
そもそもそのプログラムじゃ合計点も間違ってるだろ
import java.io.*; class Sample7 { public static void main(String args[]) throws IOException { System.out.println("テストの点数を入力してください。(-1で終了) "); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int sum = 0; int cnt = 0; do { int num = Integer.parseInt(br.readLine()); if (num == -1) break; sum += num; cnt++; } while(true); if (cnt != 0) { System.out.println("テストの平均点は" + (sum / cnt) + "点です。"); System.out.println("テストの合計点は" + sum + "点です。"); } else { System.out.println("テストの平均点は0点です。"); System.out.println("テストの合計点は0点です。"); } } }
>>577 ありがとうございます
このコードを参照に自分で作ったプログラムを弄ってみます
>>575 滅茶苦茶でも、それでも合計点出たんだが
ていうか、教科書の練習問題の答え丸写ししただけだから合計点は合ってると思う。
まぁ、貼付する前に色々弄ってたからdiv =sum/unm;のnumがunmになってたり変になってるけど
579 :
デフォルトの名無しさん :2006/05/31(水) 19:45:44
580 :
デフォルトの名無しさん :2006/05/31(水) 20:55:08
用語 】区間探索 【 期限 】2006/6/2(木)まで 【 Ver 】なし 【 補足 】 重量 50g 料金120円 75g 140 500g 390円 100 160 750 580 150 200 1kg 700 200 240 2kg 950 250 270 3kg 1,150 4kg 1,350 重量が4kgを超える場合、取り扱いできませんと表示せよ ヒント(擬似) ・重量← readInt("重量") ▲(入力された重量のリミットチェック) _ ■(区分探索) ■ 料金表示 ▼ よろしくお願いします
【課題】次のCプログラムをJavaプログラムに修正しなさい * 各セルの状態をウィンドウ上に表示するときには, たとえば,0,1,2 を 黒,黄, 赤というように,数に色を対応させて 視覚的にわかりやすくする。 * シミュレーションの様子を表示させるには, セル全体の状態が下にのびる(時間軸が下方向にのびる)ように表示する方法 以上を注意して作成せよ。 【期限】6月2日金曜日まで よろしくお願いいたします
582 :
581 :2006/05/31(水) 21:41:10
>>579 んー、でも指定で終了は-1ってことになってるしなぁ
何で-1なのか良く分かんないや…
584 :
559 :2006/05/31(水) 22:24:08
このスレの人はめんどくさくて宿題に答えてくれないそうですが それではどこのスレで質問したらいいですか?
585 :
デフォルトの名無しさん :2006/05/31(水) 22:28:43
最近日本語が不自由な人間が増えたニダ
586 :
デフォルトの名無しさん :2006/05/31(水) 22:32:59
不完全な質問にはレスしない
答えないんじゃなくて答えられないだけなの
588 :
デフォルトの名無しさん :2006/05/31(水) 23:00:21
JDBCのちょっと質問なんだけれど import java.sql.*; public class HelloWorldJDBC { public static void main(String[] args) { try { // ドライバクラスをロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //new sun.jdbc.odbc.JdbcOdbcDriver(); //これでもok Connection con = DriverManager.getConnection("jdbc:odbc:helloworld"); Statement stmt = con.createStatement(); String sql = "SELECT * FROM HELLO_WORLD_TABLE"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int no = rs.getInt("NO"); String lang = rs.getString("LANGUAGE"); String msg = rs.getString("MESSAGE"); System.out.println(no + " " + lang + " " + msg); } stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } } }
589 :
デフォルトの名無しさん :2006/05/31(水) 23:04:28
上のサンプルで // ドライバクラスをロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //new sun.jdbc.odbc.JdbcOdbcDriver(); //これでもok てのは、どっちもJdbcOdbcDriverクラスのインスタンス作っている のはバカな俺でもわかるんだが、 受け皿になる変数がないから、これって実行された後、 すぐにこのインスタンスはガベージコレクタで消されると考えていいよな? となると、この処理には一見意味のないもののようにみえるんだが、 この行を消すと実行エラーになってしまう。 どの資料をみても同じ事をやっているんだが、 それに対する解説はなく、決まり文句のように使われている。 これにはいったいどんな意味があるのかがわからない。 どうかおしえてもらえるとうれしい。
590 :
デフォルトの名無しさん :2006/05/31(水) 23:16:19
591 :
デフォルトの名無しさん :2006/05/31(水) 23:17:39
>>589 Java質問スレで聞いて来い
そしてバカにされろ
592 :
デフォルトの名無しさん :2006/05/31(水) 23:24:58
あいあい
すまん。2時間近くいじっててわからんかった。エラー100個とかでたよ。 うるう年かどうか判定しろ。 4 で割りきれ、かつ、100 で割りきれない → うるう年 上記または 400 で割りきれる → うるう年 それ以外 → うるう年ではない int x=2006 if{(x%4==0)||(x%100!=0)}&&(x%400==0) system.out.println("うるう年") else 略・・・うるう年でない } }
594 :
デフォルトの名無しさん :2006/05/31(水) 23:42:36
用語 】区間探索 【 期限 】2006/6/2(木)まで 【 Ver 】なし 【 補足 】 重量 料金 50g 120円 重量 料金 75g 140 500g 390円 100 160 750 580 150 200 1kg 700 200 240 2kg 950 250 270 3kg 1,150 4kg 1,350 重量が4kgを超える場合、取り扱いできませんと表示せよ ヒント(擬似) ・重量← readInt("重量") ▲(入力された重量のリミットチェック) _ ■(区分探索) ■ 料金表示 ▼ よろしくお願いします これじゃ〜説明ぶそくでしょうか?
>>593 そりゃ、ダメだ。
うるう年の条件が足らない。
4000で割れるとか、20000で割れるとかの条件も入れないと。
596 :
デフォルトの名無しさん :2006/05/31(水) 23:46:53
>>594 区間探索と区分探索って違うのか?
擬似って擬似言語の事か?
597 :
デフォルトの名無しさん :2006/05/31(水) 23:47:22
テンプレぐらいは守れ話はそれまでだ
598 :
デフォルトの名無しさん :2006/05/31(水) 23:52:52
▲(入力された重量のリミットチェック) _ ■(区分探索) ■ 料金表示 ▼ なんの暗号だ?
599 :
デフォルトの名無しさん :2006/06/01(木) 00:09:31
>>594 入力された重量は積算されるのか?
それとも入力毎に初期化?
600 :
デフォルトの名無しさん :2006/06/01(木) 00:18:01
>>594 区間が以上以下未満より大きいか
〜50なのか
50〜なのか全く分からない
>>595 ていうかこの条件で打てばいいよって書いてあるんだよw。イフの使い方わかんね〜
602 :
デフォルトの名無しさん :2006/06/01(木) 00:19:19
>>601 テンプレ嫁
あとお前は参考書を2万回ぐらい嫁
603 :
デフォルトの名無しさん :2006/06/01(木) 00:31:59
>>594 import java.io.*;
class R594{
public static void main(String[] args){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int weight;
try{
do{
weight = Integer.parseInt(br.readLine());
if (weight >= 4000){
System.out.println("重量が4kgを超える場合,取り扱いできません");
}
else if (weight < 0){
System.out.println("不正な重量です");
}
else{
System.out.println("料金は" + getPrice(weight) + "です");
}
}while (true);
}catch (Exception ex){
ex.printStackTrace();
}
}
604 :
デフォルトの名無しさん :2006/06/01(木) 00:32:33
public static int getPrice(int weight){ int price = 0; if (weight < 50) price = 120; else if (weight < 75) price = 140; else if (weight < 100) price = 160; else if (weight < 150) price = 200; else if (weight < 200) price = 240; else if (weight < 250) price = 270; else if (weight < 500) price = 390; else if (weight < 1000) price = 700; else if (weight < 2000) price = 950; else if (weight < 3000) price = 1150; else if (weight < 4000) price = 1350; return price; } } 物凄く適当 検証は自分でしてくれ
test
HPのソースを.txtで保存するプログラム作ってください
607 :
デフォルトの名無しさん :2006/06/01(木) 00:41:09
やだ
【問題】年月日に任意の日数(特に制限はない)を加算した年月日を求めなさい。 なおデータ入力はコマンドライン引数でおこないます。 (入力例・>java class.java 2006年6月1日 30日) ※うるう年も考えて作ります よろしくお願いします。
611 :
デフォルトの名無しさん :2006/06/02(金) 13:44:59
【 課題 】課題1 相手の移動位置を予想して攻撃するようにしなさい。MyRobots1.java
課題2 敵の位置を現在の位置を含めた2点以上記録し、その情報から敵の移動位置を
予想し攻撃するように修正しなさい。 MyRobots2.java
【 期限 】6月3日まで
【 補足 】Robocodeは
http://robocode.sourceforge.net/ の1.0.7を使って下さい。
>>610 超適当だけど
public static void main(String[] args) {
if (args.length != 2) {
System.err.println("引数が正しくありません");
return;
}
SimpleDateFormat of = new SimpleDateFormat("yyyy年M月d日");
SimpleDateFormat df = new SimpleDateFormat("d日");
Date baseDate = null;
Date addDate = null;
try {
baseDate = of.parse(args[0]);
} catch (ParseException e) {
System.err.println("引数1が正しい日付ではありません");
return;
}
try {
addDate = df.parse(args[1]);
} catch (ParseException e) {
System.err.println("引数2が正しい日数ではありません");
return;
}
Calendar cal = Calendar.getInstance();
cal.setTime(baseDate);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(addDate);
cal.add(Calendar.DATE, cal2.get(Calendar.DAY_OF_YEAR));
System.out.println(of.format(cal.getTime()));
}
JAVAを使って3つの画像を以下のように順番に表示します。iアプリOR MIDP 携帯を開く度に以下の画像を順番に待ち受け画面に表示します。 (折りたたみ状態またはフリップ状態の変化FOLD_CHANGED_EVENT) 表示例(毎月画像の表示期間は不規則に変化します) 9月の例 1.gifの表示期間 5月1日〜5月5日、5月16日〜5月28日 2.gifの表示期間 5月3日〜5月10日、5月18日〜5月30日 3.gifの表示期間 5月5日〜9月15日 上記のように画像を1〜数個選択し、それらを順番に表示するコードを教えてください。
614 :
デフォルトの名無しさん :2006/06/03(土) 01:22:55
615 :
559 :2006/06/03(土) 18:37:09
CのプログラムをJavaに変換して下さい。お願いします #include<stdio.h> #include<stdlib.h> #include<math.h> double f(double x, int* n){++*n; return cos(x)*pow(x,2);} int main(void){double a,b,c,y;char tmp[100];int t,n=0;double e=0.0001; printf("初期値a:");fgets(tmp,100,stdin);a=atof(tmp); printf("初期値b:");fgets(tmp,100,stdin);b=atof(tmp); for(t=0;(double)(abs(b-a)/pow(2,t))>=e;t++); do{c=(a+b)/2;y=f(c,&n);if((f(a,&n)*y)<0)b=c;else a=c;}while(!(abs(b-a)<e)&&!(y<e)&&(--t>0)); if(t)printf("解:%.6f(%i attempts)\n",c,n);else printf("収束しません\n");return 0;}
616 :
デフォルトの名無しさん :2006/06/03(土) 22:38:49
>>615 public static void main(String[] args){
double a = 0,b = 0,c,y;
String temp;
int t, n = 0;
double e = 0.0001;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("初期値a:");
a = Double.parseDouble(br.readLine());
System.out.println("初期値b:");
b = Double.parseDouble(br.readLine());
}catch (Exception ex){}
for (t = 0; Math.abs(b-a) / Math.pow(2, t) >= e; t++);
do{
c = (a + b) / 2;
y = f(c);
n++;
if (f(a) * y < 0)
b = c;
else
a = c;
n++;
}while (!(Math.abs(b-a) < e) && !(y < e) && (--t > 0));
if (t != 0)
System.out.println("解:" + c + "(" + n + "attempts)");
else
System.out.println("収束しません");
}
static double f(double x){
return Math.cos(x) * Math.pow(x, 2);
}
617 :
617 :2006/06/04(日) 00:45:50
このHPのソースを取得するプログラムを正規表現を使って ↓このソースから ****************************************** <html> <body> <TITLE>タイトル</TITLE> <b>ああああ</b> <b>いいい</b> </body> </html> ****************************************** ↓<b></b>の間にある文字のみを抜き出し表示する ****************************************** ああああ いいい ******************************************
618 :
617 :2006/06/04(日) 00:46:42
import java.io.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.apache.oro.text.regex.PatternMatcherInput; import org.apache.oro.text.perl.*; public class HttpGetter3{ public static void main(String[] args){ //HttpClientインスタンスを作成 HttpClient client=new HttpClient(); //methodインスタンスを作成 GetMethod method = new GetMethod(args[0]); try{ //メソッドの実行 int statusCode=client.executeMethod(method); //charsetの分析 String ct=method.getResponseCharSet(); String chr="Shift_JIS";//文字エンコード。デフォルトはSJIS if(!ct.equals("ISO-8859-1")){ chr=ct; } //ステータスコードのチェック if (statusCode!=HttpStatus.SC_OK){ System.out.println("失敗:"+method.getStatusLine()); }
619 :
617 :2006/06/04(日) 00:47:20
//レスポンスをInputStreamで読む Reader in=new InputStreamReader(method.getResponseBodyAsStream(),chr); BufferedReader br=new BufferedReader(in); //調べたcharsetで表示する //1行づつ読む。最後はnullが返る。 String html=null; while ((html=br.readLine())!=null){ System.out.println(html); } in.close(); br.close(); }catch(IOException e){ System.out.println("エラーです。"); }finally{ //コネクションの解放 method.releaseConnection(); } } }
620 :
617 :2006/06/04(日) 00:49:09
↑HPのソースを取得するところまでは出来ています。 おねがいします
なんでこんなバカばっかなんだろう
お前が頭良すぎるんじゃね?
624 :
デフォルトの名無しさん :2006/06/04(日) 22:48:19
ななな
626 :
デフォルトの名無しさん :2006/06/05(月) 18:24:27
627 :
デフォルトの名無しさん :2006/06/05(月) 19:18:05
ずっとここをクロスコンパイラ代わりに使ってる奴が居るな
キーボードから点数を入力させ、次のように各自の点数と最低点を出力するコードを 配列を使って記述してください。お願いします。 5人のテストの点数を入力してください。 80 60 57 50 22 1番目の人の点数は80です。 2番目の人の点数は60です。 3番目の人の点数は57です。 4番目の人の点数は50です。 5番目の人の点数は22です。 最低点は22点です。
629 :
デフォルトの名無しさん :2006/06/05(月) 22:22:42
>>629 【課題】キーボードから点数を入力させ、次のように各自の点数と最低点を出力するコードを
配列を使って記述してください。お願いします。
【期限】6月7日(水)
【結果】
5人のテストの点数を入力してください。
80
60
57
50
22
1番目の人の点数は80です。
2番目の人の点数は60です。
3番目の人の点数は57です。
4番目の人の点数は50です。
5番目の人の点数は22です。
最低点は22点です。
これでOK??
631 :
デフォルトの名無しさん :2006/06/05(月) 22:45:12
課題7 3つの数字を並べるスロットマシンを考えます. 以下のようなルールでスロットマシンを実行できるようにします. 0から9までの10通りの数字を使う. スロットの試行は,3回行う. 1回の試行に対して,乱数を使って,うまく数字を出す. 3つとも不揃いのときは,-1点. 2つだけ同じ数字になったときは,5点. 3つとも同じ数字になったときは,20点. 3回試行した後,3回分の合計点数を表示する. (実行結果の例) 【1回戦目】9 vs. 5 vs. 3【2回戦目】0 vs. 1 vs. 2【3回戦目】4 vs. 2 vs. 6 【ゲーム終了】 合計点数=-3 【1回戦目】0 vs. 2 vs. 3【2回戦目】6 vs. 7 vs. 9【3回戦目】5 vs. 6 vs. 6 【ゲーム終了】 合計点数=3 【1回戦目】6 vs. 1 vs. 1【2回戦目】7 vs. 1 vs. 0【3回戦目】9 vs. 9 vs. 8 【ゲーム終了】 合計点数=9 【1回戦目】3 vs. 3 vs. 0【2回戦目】7 vs. 7 vs. 8【3回戦目】3 vs. 9 vs. 3 【ゲーム終了】 合計点数=15 【1回戦目】0 vs. 0 vs. 9【2回戦目】5 vs. 3 vs. 8【3回戦目】9 vs. 9 vs. 9 【ゲーム終了】 合計点数=24 お願いします。
632 :
632 :2006/06/05(月) 23:40:24
634 :
デフォルトの名無しさん :2006/06/05(月) 23:50:57
httpクライアントプログラムを作ってください。 以下のhtmlからファイルをアップロードするのと同じ働きをして欲しい。 引数でファイルパスを渡したら、httpサーバーへファイルをアップロードしてくれるように。 <html> <body> <form enctype="multipart/form-data" action="○○" method="POST"> <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> </body> </html>
>>632 お答えいただきありがとうございます。
コマンドプロンプトで表示するときは、
javac sample.java→java sampleでいいんですかね?
Exception in thread "main" java.lang.NoClassDefFoundError: sampleと
出たんですが・・・・・・・。
636 :
デフォルトの名無しさん :2006/06/06(火) 00:16:33
【 課題 】 3つの数字を並べるスロットマシンを考えます. 以下のようなルールでスロットマシンを実行できるようにします. 0から9までの10通りの数字を使う. スロットの試行は,3回行う. 1回の試行に対して,乱数を使って,うまく数字を出す. 3つとも不揃いのときは,-1点. 2つだけ同じ数字になったときは,5点. 3つとも同じ数字になったときは,20点. 3回試行した後,3回分の合計点数を表示する 【結果】 【1回戦目】9 vs. 5 vs. 3【2回戦目】0 vs. 1 vs. 2【3回戦目】4 vs. 2 vs. 6 【ゲーム終了】 合計点数=-3 【1回戦目】0 vs. 2 vs. 3【2回戦目】6 vs. 7 vs. 9【3回戦目】5 vs. 6 vs. 6 【ゲーム終了】 合計点数=3 【1回戦目】6 vs. 1 vs. 1【2回戦目】7 vs. 1 vs. 0【3回戦目】9 vs. 9 vs. 8 【ゲーム終了】 合計点数=9 【1回戦目】3 vs. 3 vs. 0【2回戦目】7 vs. 7 vs. 8【3回戦目】3 vs. 9 vs. 3 【ゲーム終了】 合計点数=15 【1回戦目】0 vs. 0 vs. 9【2回戦目】5 vs. 3 vs. 8【3回戦目】9 vs. 9 vs. 9 【ゲーム終了】 合計点数=24 こんな感じでいいですか?お願いします。
>635 エラーが出たのは>632のせいじゃないぞ。少しは調べろ。
638 :
age :2006/06/06(火) 00:42:26
age
640 :
デフォルトの名無しさん :2006/06/06(火) 00:57:06
>>636 何これ?全部自動なのか?
コッチがストップ掛けないでいいのか?
641 :
デフォルトの名無しさん :2006/06/06(火) 01:07:26
>>640 全部自動では無く
こんなような実行結果が出ればいいので
スロットの数とかは自分で決めていいです。
642 :
デフォルトの名無しさん :2006/06/06(火) 01:14:15
スロットだからこちら側がストップ掛けて止める仕組みが必要なのか?
643 :
デフォルトの名無しさん :2006/06/06(火) 01:15:26
644 :
632 :2006/06/06(火) 05:18:51
>>635 mainメソッドを含むクラスのファイル名はクラス名でなければならない
>>617 以下のmethodをそのclassにつんでみて下され。
引数は、code中の変数"html"で、戻りは一行に複数bタグがある場合複数で返却される。
見つからなければ、nullが返却されます。
また、bタグが複数行にまたがる場合は、<b>〜</b>の部分までを含む行を全て引数に指定すれば取れるはず。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.List;
import java.util.ArrayList;
private static String[] getBTagValue(String target) {
List results = new ArrayList();
String bSTag = "<b>|<B>";
String bETag = "</b>|</B>";
Pattern ptnS = Pattern.compile(bSTag);
Pattern ptnE = Pattern.compile(bETag);
Matcher mthS = ptnS.matcher(target);
int ps = 0;
while (mthS.find(ps)) {
Matcher mthE = ptnE.matcher(target);
if (mthE.find(mthS.end())) {
results.add(target.substring(mthS.end(), mthE.start()));
ps = mthE.end();
continue;
}
ps = mthS.end();
}
return (0 < results.size()) ? (String[])results.toArray(new String[results.size()]) : null;
}
テンプレ使え。
>>1 嫁
よろすく。変数はxyz。 演算と条件判定 問題1 授業中示した 3 つの値の最大値を求めるプログラム (3 種類のどれでも良い・数は自由) を改造して、どの変数が最大だったか、その変数名を表示するようにしなさい。ファイル名は MaxVariable.java とする。 この問題の解法は何通りか考えられる。ひとつの方法は、どれが最大値だったかの情報を変数に記録しておく方法である。たとえば、 x が最大なら isXMax = true, 最大でないなら isXMax = false などとする。 もう一つの方法として、最大値を求めた後で、それが x に等しいか、 y に等しいか、 z に等しいか、と調べるやり方も可能である。 もちろん、これ以外の方法を用いても良い。 問題2 3 つの値 x, y, z の中央値(メジアン)を求めて出力するプログラムを作成しなさい。なお中央値とは、データを大きさの順に並べたときに中央の順位にくる値である。 3 つの値はすべて異なるものとする。プログラム名は Median3 とする。 問題3 定期試験の点数が 89, 55, 32, 94, 60 の人がいたとして、点数が60点以上の人の平均点を求めるプログラムを書きなさい。はじめに 5 人の点数を 5つの int 型の変数に代入しておくこと。 class AverageOfSuccessor { public static void main(String[] args) { int student1 = 89; int student2 = 55; int student3 = 32; int student4 = 94; int student5 = 60; .... 点数が60点以上の人の平均点を求めるプログラムをここに書く } } この計算を行うと、平均点は 81 点となるはずである。 ヒント: 平均をとる場合には対象の人数を数える必要がある。人数を数えるための変数を用意し、 60点以上の人を数えるようにすると良い。 プログラムの名前は AverageOfSuccessor とする。
649 :
デフォルトの名無しさん :2006/06/06(火) 22:16:05
[課題] 情報管理用のクラス[Hito]を作成する。 プロパティ private String name<名前用> private double taijyu<体重用> private double sincho<身長用> private double nenrei<年齢用> メソッド 各プロパティの値を入出力するためのメソッド getXXXX,putXXX まず、上記の内容で[Hito]クラスを作成する。コンストラクタHito(String name,double taijyu,double sincho,double nenrei)を定義する。 ※期限翌朝 です。 宜しくお願いします。
>>649 public class Hito {
private String name;
private double taijyu;
private double sincho;
private double nenrei
public String getName(){return name;}
public double getTaijyu(){return taijyu;}
public double getSincho(){return sincho;}
public double getNenrei(){return nenrei;}
public void setName(String name){this.name = name;}
public void setTaijyu(double taijyu){this.taijyu = taijyu;}
public void setSincho(double sincho){this.sincho = sincho;}
public void setNenrei(double nenrei){this.nenrei = nenrei;}
Hito(String name,double taijyu,double sincho,double nenrei){
this.name = name;
this.taijyu = taijyu;
this.sincho = sincho;
this.nenrei = nenrei;
}
}
なんていうかput意味不だし、年齢ダブルにする意味わかんないし、
とにかく適当だ。
あ、private double nenreiの後にセミコロン抜けてた。 すまん。
【 課題 】演算と条件判定 問題1 授業中示した 3 つの値の最大値を求めるプログラム (3 種類のどれでも良い) を改造して、どの変数が最大だったか、その変数名を表示するようにしなさい。ファイル名は MaxVariable.java とする。 この問題の解法は何通りか考えられる。ひとつの方法は、どれが最大値だったかの情報を変数に記録しておく方法である。たとえば、 x が最大なら isXMax = true, 最大でないなら isXMax = false などとする。 もう一つの方法として、最大値を求めた後で、それが x に等しいか、 y に等しいか、 z に等しいか、と調べるやり方も可能である。 もちろん、これ以外の方法を用いても良い。 問題2 3 つの値 x, y, z の中央値(メジアン)を求めて出力するプログラムを作成しなさい。なお中央値とは、データを大きさの順に並べたときに中央の順位にくる値である。 3 つの値はすべて異なるものとする。プログラム名は Median3 とする。 問題3 定期試験の点数が 89, 55, 32, 94, 60 の人がいたとして、点数が60点以上の人の平均点を求めるプログラムを書きなさい。はじめに 5 人の点数を 5つの int 型の変数に代入しておくこと。 class AverageOfSuccessor { public static void main(String[] args) { int student1 = 89; int student2 = 55; int student3 = 32; int student4 = 94; int student5 = 60; .... 点数が60点以上の人の平均点を求めるプログラムをここに書く } } この計算を行うと、平均点は 81 点となるはずである。 ヒント: 平均をとる場合には対象の人数を数える必要がある。人数を数えるための変数を用意し、 60点以上の人を数えるようにすると良い。 プログラムの名前は AverageOfSuccessor とする。 【 用語 】??変数はXYZを使用。入れる数は全部異なっていること。 【 期限 】水曜18時まで 【 Ver 】よくわからないのですが、リナックスでEMACSで作ってます。 よろしくお願いします。
>>652 verっつうのは
java -version
で表示されるやつのことだ
で、授業中示したプログラムってのは何だ?
問題3はこれでOK? public class AverageOfSuccessor { public static void main(String[] args) { int student1 = 89; int student2 = 55; int student3 = 32; int student4 = 94; int student5 = 60; int count = 0; int sum = 0; if(student1 >= 60) { count++; sum += student1; } if(student2 >= 60) { count++; sum += student2; } if(student3 >= 60) { count++; sum += student3; } if(student4 >= 60) { count++; sum += student4; } if(student5 >= 60) { count++; sum += student5; } int average = sum / count; System.out.println("点数が60点以上の人の平均値は" + average + "点ですた。"); } }
655 :
654 :2006/06/07(水) 02:21:19
>>652 問題2です。
【用語】??変数はXYZを使用 ←がよくわからなかったので、そこはご了承を。。。
public class Median3 {
public static void main(String[] args) {
int X = 10;
int Y = 20;
int Z = 30;
int i = 0;
if(X < Y && X < Z) {
if(Y < Z) { i = Y; }
else { i = Z; }
}
else if(Y < X && Y < Z) {
if(X < Z) { i = X; }
else { i = Z; }
}
else {
if(X < Y) { i = X; }
else { i = Y;}
}
System.out.println("Median is " + i);
}
}
>>654 >>655 どうもです。カウントとか使うんですね。一番は調べて自分でやってみます。ありがとうございました。
657 :
デフォルトの名無しさん :2006/06/07(水) 16:01:05
658 :
デフォルトの名無しさん :2006/06/07(水) 16:18:40
どなたか
>>384 の課題が解ける方お願いします。
期限:急
>>658 文末からforで有効な値があるまでサーチするのが一番速いと思うが、
それ以上に速いものを知らないので答えられん。
あれ、アンカーが変だ。659はスレ汚しスマソ
【 課題 】 1.同時座標にはどのような特徴があるか少なくとも2つ答えなさい。 2.陰線処理を行う方法の1つである法線ベクトル法について具体的に説明しなさい。 3.点P(x0,y0,z0)を通り、Y軸に平行な直線を軸として回転する時のアフィン変換のマトリックスを求めなさい。 4.立体を(x1,y1,z1,に平行移動し、y軸を中心にθ回転するときもアフィン変換の変形マトリックスを書きなさい。 また、回転後に平行移動する場合の変換マトリックスと比較しなさい 5.図形の平行移動や回転に用いられるアフィン変換と、透視投影に用いられる射影変換の性質の異なる点をあげなさい 【 期限 】6/8(木)明日の朝までなので急です、スイマセン 【 補足 】プログラムのソースを書く問題と少し違うと思いますが、、 いっぱいいっぱいだったので、皆さんに助けをというか力を借りたくて投稿しました。 よろしくお願いします!!!
665 :
デフォルトの名無しさん :2006/06/07(水) 21:19:49
DLしてEclipse上で動かしたが何か?
666 :
654 :2006/06/07(水) 21:37:19
665とは別人だがsource.zipをDLできたよ。 リファラーとかプロキシの設定を確認してみては?
668 :
654 :2006/06/07(水) 22:42:23
最後の)を削ったら出来た。すまそ
class a{ public static void main (String[] args){ for (int N = 1 ; N <= 100000000; N*=10){ float e = 1.0f; for (int i = 0; i < N; I++){ e = e * (1.0f+1.0f/N); } System.out.println(e); } } } 高校で習った式 e=lim(N→∞)(1+1/N)~N を用いて、自然対数eの値を計算しようと思い、以下のプログラムを作った。 これを実行したらeの値は2.718281・・・に収束していくはずなのに、途中で値が1.0になってしまった。 何故そうなるのか理由を教えて下さい。
670 :
デフォルトの名無しさん :2006/06/07(水) 23:39:04
そうなるようにプログラムを書いたから
671 :
デフォルトの名無しさん :2006/06/07(水) 23:39:23
【課題】以下に食べた分,走った分をそれぞれ蓄積したデータの合計を取得するメソッドgetEatSum、getRunSumをHitoクラスに作成する。 import java.util.*; public class Hito { private String name; private double taijyu; private double sincho; private double nenrei; private ArrayList eatlist; //<食べた分蓄積用> private ArrayList runlist; //<走った分蓄積用> public Hito() { eatlist = new ArrayList(); runlist = new ArrayList(); name = ""; taijyu = 0.0; sincho = 0.0; nenrei = 0.0; } public Hito(String name, double taijyu,double sincho,double nenrei) { eatlist = new ArrayList(); runlist = new ArrayList(); this.name = name; this.taijyu = taijyu; this.sincho = sincho; this.nenrei = nenrei; } public void eat(double in_eat) { this.taijyu = taijyu + (in_eat * 0.1); eatlist.add(String.valueOf(in_eat)); } public ArrayList getEat() { return eatlist; } public void run(double in_km) { this.taijyu = taijyu - (in_km * 0.01); runlist.add(String.valueOf(in_km)); } public ArrayList getRun() { return runlist; } }
672 :
デフォルトの名無しさん :2006/06/07(水) 23:42:16
>669 N が int だからだと思われ。 間違ってたらごめん。
673 :
デフォルトの名無しさん :2006/06/07(水) 23:43:17
>>671 すみません。途中でレス上げちゃいました・・。
【期限】6/8 AM9時希望 です。
改行が多くてエラーが出てしまうので,詰めたら読みにくくなってしまい申し訳ないです。
宜しくお願いします。
674 :
デフォルトの名無しさん :2006/06/07(水) 23:58:25
>>669 floatの精度の問題
doubleにして1.0fを1.0にして味噌
675 :
デフォルトの名無しさん :2006/06/08(木) 00:07:30
すみませんわからないので、お願いします。 [課題]createメソッドの不足部分を補って二値化のコンポーネントを作成してください.
676 :
デフォルトの名無しさん :2006/06/08(木) 00:08:26
public class thred extends CoreInterface { public thred() { name = "thred"; inputs = 2; outputs = 1; width = 30; height = 20; } public void setup() { Input[0].setConnectionType(IMAGE); Input[0].setConnectionMode(NORMAL); Input[0].shortDescription = ""; Input[0].setConnectionDescription(new String[]{ "No connection description available"}); Input[1].setConnectionType(INTEGER); Input[1].setConnectionMode(NORMAL); Input[1].shortDescription = ""; Input[1].setConnectionDescription(new String[]{ "No connection description available"}); Output[0].setConnectionType(IMAGE); Output[0].setConnectionMode(NORMAL); Output[0].shortDescription = ""; Output[0].setConnectionDescription(new String[]{ "No connection description available"});
677 :
デフォルトの名無しさん :2006/06/08(木) 00:09:16
} public void doubleClick() { } /*処理本体 コンポーネントの処理本体です。 基本的な処理手順は、コネクタからデータ取得→NeatVision.createメソッドにより既存コンポーネントを呼び出す となっています。 既存コンポーネント名を入れるときに大文字小文字の間違い、スペルミスなどに気をつけましょう。 */ public Object create(DataBlock args) { /*コネクタからデータを取得し二値化コンポーネントを呼び出し、 結果をGrayImageクラスのoutputに代入してください */ return output; } }
678 :
デフォルトの名無しさん :2006/06/08(木) 00:10:17
補足部分 // 任意の番号のコネクタから整数データを取得するには以下のようにします // ?の部分にコネクタの番号を記述します Integer i = new Integer(args.getInteger(?));
679 :
673 :2006/06/08(木) 00:16:12
680 :
664 :2006/06/08(木) 10:41:59
昨日質問したモノですが動きません。 パッケージはcell 最初のCellはパブリックにチェック それ以外のK.V.Gはパブリックのチェック消して継承にチェック ではだめですか? だれか詳しく教えてくれませんか?
682 :
デフォルトの名無しさん :2006/06/09(金) 13:26:28
【 課題 】Googleの検索結果の"検索結果ページ"のように開いているページ+前後nページを表示するプログラムを作りなさい。 【 補足 】わかりにくくてすいません。 Googleなどで検索するとページの下のほうに gooooooooooooooooooooooooooooogle 123...... のように表示されていると思います。 これをコンソールで最大ページNo,現在ページNo,候補ページ数を入力します。 たとえば最大ページNoを100、現在ページNoを14と入力すると 4 5 6 7 8 .... 14 .. 22 23 のように表示されるようにしたいのです。 最大ページNoを100、現在ページNoを98と入力すると 88 89 90 ... 98 99 100 のようになり候補ページ数が10でも 108(98 + 10)までは表示されないようにしたいです。
互いにリンク張り合ったHTML群を書き出せばいいのか?
684 :
デフォルトの名無しさん :2006/06/09(金) 20:48:46
【 課題 】 2本のベクトル x=[1;0;0]とy[1;1;0]を表す配列x,yを引数とし、その内積を計算するメソッドinnerProductを作成せよ (引数、戻り値の型は適切に設計せよ)。 また、main中でinnerProductを呼び出し、2つのベクトルそれぞれのノルムと二つのベクトルの成す角を表示せよ。 クラス名はPro3_0503とし、メソッドinnerProductはPro3_0503のクラスメソッドとすること。 また、表示形式は以下を参考にすること。 x=[1;0;0] y=[1;1;0] ||x||=1.000 ||y||=1.414 theta=45.000[deg] 【 期限 】来週月曜日 【 補足 】 桁数の指定については、こちらのソースを参照とのこと。 import java.text.DecimalFormat; public class Sample{ double x=Math.sqrt(2); DecimalFormat df=new DecimalFormat(".000"); System.out.println(df.format(x)); } *上の通りです。よろしくお願いします。
686 :
デフォルトの名無しさん :2006/06/09(金) 23:03:11
687 :
デフォルトの名無しさん :2006/06/10(土) 22:30:20
【課題】インターフェース ○クラス Dell ・商品情報を3商品分持つ。 *商品情報は商品コード・名前・単価の3項目からなる。 各項目の定義の仕方、及び各項目の具体的な内容は任意とする。 ・ユーザ名を受け取って保持するユーザ登録メソッドを持つ。 ・商品コード(Stringで定義)および数量(intで定義)を受け取って保持する商品注文メソッドを持つ。 ・以下の処理を行う商品検索のメソッドを持つ。 *引数で渡された商品コードを持つ商品があるかどうかを判定し、 あった場合はその名前・単価をメッセージとして表示、なかった場合も その旨のメッセージを表示する。 ・以下の処理を行う商品単価確認メソッドを持つ。 *引数で渡された商品コードの商品の単価をリターンする。 ・購入した商品の合計金額をリターンする合計購入金額算出メソッドを持つ。 ○クラス Lenovo ・商品情報を5商品分持つ。 *商品情報の内容や定義等については上記のDellクラスと同様。 ・上記Dellクラスと同様のユーザ登録・商品注文・商品検索・商品単価確認メソッドを持つ。 ・購入した商品の合計金額に送料(任意の値)を加えた値をリターンする合計購入金額算出メソッドを持つ。 上記2つのクラスを、同一のインターフェイス PCShop を実装する形に変更してください。 【提出期限】6/12(月)朝 丸投げです。どなたか宜しくお願いします。
688 :
デフォルトの名無しさん :2006/06/11(日) 00:38:04
689 :
688 :2006/06/11(日) 00:40:25
【 課題 】 import java.net.*; class ip_search { public static void main(String args[]){ String hostname; InetAddress dest=null; hostname=args[0]; try{ dest=InetAddress.getByName(hostname); }catch(Exception e){ System.out.println("見つかりません"); } System.out.println(dest); } } 次のプログラムはドメイン名から、IPアドレスを表示するプログラムである。 動作原理の詳細を述べよ。 【 期限 】6/12 pm1:00 【 補足 】丸投げですがよろしくお願いします。m(_ _)m
691 :
デフォルトの名無しさん :2006/06/11(日) 20:11:16
マイナス単項を計算できるようにするにはどのような方法があるのでしょうか?
692 :
デフォルトの名無しさん :2006/06/11(日) 21:02:27
>>690 ドメイン名からIPアドレスを取得してる
以上
693 :
デフォルトの名無しさん :2006/06/11(日) 21:13:26
10個のデータを乱数で生成し、その平均と分散を求めるプログラムを作れ。 分散だけどうしてもわかりません(T-T )( T-T)ウルウル よろしくおねがいします(;人;)
694 :
デフォルトの名無しさん :2006/06/11(日) 21:17:00
695 :
693 :2006/06/11(日) 21:38:24
今のところこんな感じなんですけど…できてますかね? private static double Dispersion(int[] data) { double dispersion = 0; double[] datad = new double[SIZE]; double E = 0; double F = 0; for(int i = 0; i < SIZE; i++) { // int型→double型 datad[i] = data[i]; E = E + datad[i]*0.001; F = F + datad[i]*datad[i]*0.001; } dispersion = F - E; return dispersion; }
696 :
デフォルトの名無しさん :2006/06/12(月) 22:11:50
【 課題 】ボタンを押したらテキストフィールドに入力された文字列がコマンドプロンプトに表示される。ただし、半角英数5〜10文字だけ。それ以外の場合はダイアログでエラーを表示する。 【 期限 】朝までに・・・。 【 Ver 】 (1) Java 2 Platform, Standard Edition, バージョン 1.4 もしくは 5.0 【 補足 】「半角英数5〜10文字だけ」の部分の例外処理だけお願いします。 String text_=tf.getText(); //tfはJTextFieldのオブジェクト int len_=text_.length(); って感じで、続きをお願いします。
例外処理なんていらんから text_.matches("[a-zA-Z0-9]{5,10}") だけでいいんじゃ?
698 :
デフォルトの名無しさん :2006/06/13(火) 11:17:23
javaで改行ってどうやるんですか? String str="あいうえお\r\nかきくけこ\r\n"; で良いでしょうか?
699 :
デフォルトの名無しさん :2006/06/13(火) 14:18:25
>698 \nだけでいいお
>>695 intをdoubleにするのはキャスト使えばいいわな。
で、分散だけど、FをSIZEで割って、EをSIZEで割ったもの(平均)を引くと出るっていう話だな。
でさ、0.001ってなに?w
【 課題 】以下のプログラムに1)から4)の修正を加えて、究極的に5)の
仕様を実行するプログラムにせよ。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27901 1)10,000件の項目を配列に入れよ。
2)整列させる前後のデータを配列の最初から表示せよ。
3)display()を削除して整列にどのくらいの時間がかかるかを実験せよ。
4)100,000件について3)をもう一度実験せよ。
5)項目の件数を適当に変更して100,000件、30,000件、5,000件、3,000件、1,000件
について、それぞれ実行時間を測定せよ。
注)入力データは、以下の乱数プログラムを使って発生させるとよい。
Program fill array with random numbers
for (int j=0; j < maxSize; j++)//fill array with random numbers
long n = (long)(java.lang.Math.random()*(maxSize-1));
arr.insert(n);
}
//end of random numbers program source
注2)実行時間の測定は適当なプログラム、例えばtimerを使って測定すること。
【 期限 】6/15 22:00まで
【 補足 】時間を計測するプログラムは自分で見つけたんですが、
これで合ってるか不安なのでもし間違ってたらこちらの修正もお願いします
【 課題 】実行時に1〜10の引数を漬けて実行させるプログラム 1〜4の引数が渡されたときは「頑張りましょう」、5〜7が渡されたら「まぁまぁです」 8〜10が渡されたら「良くできました」とディスプレイに出力させなさい。
703 :
デフォルトの名無しさん :2006/06/13(火) 22:04:26
【課題】 6項目の質問があり、それぞれの質問に対する回答が2つor4つ用意してある。 選択肢によって0点から3点の点数が与えられている。 各項目は、1つしか回答を選択できない。 それらを選択し、結果ボタンを押すと合計点数を表示させるものを作成せよ。 【補足】 6項目の点数は決まっており、一番高い場合は10点となる。 自分で下記プログラムを組んだのですが、ネスケでのみ動作せずエラーにもなりませんでした。 ネスケで動くようにお願いしたいです。 長いので次のレスに記入します。 すみません。
704 :
デフォルトの名無しさん :2006/06/13(火) 22:05:38
自分で作成したプログラム文です。 【HEAD部分】 <SCRIPT language="JavaScript"><!-- function MakeArray(n) { this.length = n for (var i = 1; i <= n; i++) { this[i] = 0 } return this } function kekkaDef(label) {this.label = label } kekka = new MakeArray(3) function seeResult() { var tokuten = 0 var numberOfQuestions = 6 var j = 0 for (var i = 0; i <= 18; i++) { if (document.chkform.elements[i].checked) { tokuten += eval(document.chkform.elements[i].value) } } if (tokuten <= 3) { j = 1} else { if (tokuten <= 6) { j = 2 }else {j = 3} } document.chkform.Text.value = tokuten ; } --></SCRIPT>
706 :
703 :2006/06/13(火) 22:35:13
>>705 参考になればと思って書いたのが邪魔だったようで申し訳ありません。
703の条件でプログラム作成お願いします。
>705,706 実は>1には肝心なことが抜けてる。 JavaScriptは板違い。Web製作板へ。
>>707 板違いすみません;
誘導ありがとうございます
709 :
デフォルトの名無しさん :2006/06/14(水) 01:59:19
>>702 class R702{
public static void main(String[] args){
int num;
try{
num = Integer.parseInt(args[0]);
if (num <= 0 || num > 10)
System.out.println("引数が不正です");
else if (num < 5)
System.out.println("頑張りましょう");
else if (num <= 7)
System.out.println("まぁまぁです");
else if (num <= 10)
System.out.println("良くできました");
}catch (Exception ex){
System.out.println("引数が不正です");
}
}
}
710 :
デフォルトの名無しさん :2006/06/14(水) 14:39:57
【 課題 】配列を、ずらしてコピー 配列A:[0][1][2][3][4] ↓ ↓ ↓ ↓ 配列B: [0][1][2][3] こんな感じで、ずらしてコピーしたいです。 配列A[0]は無視。 宜しくお願いします。
711 :
710 :2006/06/14(水) 14:41:38
申し訳ありません。 ずれすぎました。 訂正します。 A[0]→無視 A[1]→B[0] A[2]→B[1] A[3]→B[2] A[4]→B[3] こんな感じです。 改めてお願いいたします。
712 :
デフォルトの名無しさん :2006/06/14(水) 14:56:15
for ( i = 0 ;i < A.length - 1 ; ++i ) { B[i] = A[i+1] ; }
>>675-678 ルール違反かもしれないがヒントだけにとどめておく。
すぐ前の課題3のNotの課題と比べて違っているのはどこか?
それがわかれば自ずと解けると思う。
わからなかったら諦めてくれ。
ちゃんと授業での説明を聞いていない証拠だから。
714 :
713 :2006/06/14(水) 16:29:01
他の人にもわかるようにちょっと補足。
>>675-678 はJavaで書かれてはいるが、厳密にはNeatVisionというソフトでの
課題。
それを書かないとNeatVision使いじゃないJava使いの人には分からない罠
【 課題 】 テキストファイルの中に文字列が50000個はいってて、 小文字の英字が4文字(最初がa)、 数字が2〜4個、 大文字の英字が3文字続くようなものを全て出力し、 最後にその個数を出力する。出力結果は49になる。 【 期限 】明日・・・orz 正規表現を用いるんですが、 自分で作ったやつのどこがおかしいのかわからない・・・自分のソースも載せなければいけない場合は載せます。
「課題」等差数列の項と和を求めるプログラムを書きなさい。 初項 c 、項差 d の等差数列を考えると、 i番目の項 ai と、その項までの和 si は以下のような漸化式で求めることができる。 ai = ai-1 + d si = si-1 + ai 初項 c と公差 d をあらかじめプログラム中に定義しておき、先頭から第 10 項までの ai と si を出力するようなプログラムにすること。たとえば、初項が 10 、公差が 5 だった場合、出力の最初の数行は次のようになれば良い。 ArithmeticalProgression (c=10, d=5) 1: a=10 s=10 2: a=15 s=25 3: a=20 s=45 4: a=25 s=70 5: a=30 s=100 ... プログラム 「期限」明日 よろしくお願いします
>>710 System.arraycopy(A, 1, B, 0, A.length - 1)
>>716 class ArithmeticalProgression {
public static void main(String[] args) {
An an = new An(10, 5);
for (int i = 1; i < 10; i++) {
System.out.println(i + ": a=" + an.getA(i) + " s=" + an.getS(i));
}
}
}
class An {
private int c;
private int d;
An(int c, int d) {
this.c = c;
this.d = d;
}
int getA(int n) {
int an = c;
for (int i = 2; i <= n; i++) {
an = an + d; //ai = ai-1 + d
}
return an;
}
int getS(int n) {
int sn = 0;
for (int i = 1; i <= n; i++) {
sn = sn + getA(i); //si = si-1 + ai
}
return sn;
}
}
>>715 テキストファイルのサンプルがほしいところだが・・
721 :
715 :2006/06/14(水) 18:01:31
わかりました。どこにのせればいいですか・・・?
>>715 正規表現を "." に変えたら、ちゃんと全文字列と 50000 が表示される?
されるなら正規表現だけ直せば良さそう。
723 :
715 :2006/06/14(水) 20:48:43
あ、はい、されました・・・!
724 :
715 :2006/06/14(水) 20:53:13
とりあえず自分が作ったソースはってみますね。 java初心者なもので・・・ import java.util.regex.*; import java.io.*; public class work81{ public static void main(String[] args) { int i=0; try { BufferedReader reader=new BufferedReader(new FileReader("data.txt")); String line=""; Pattern p=Pattern.compile("^a[a-z]{3}[0-9]{2,4}[A-Z]{3}$"); Matcher m=p.matcher(line); while(true){ line=reader.readLine(); if(m.matches()){ System.out.println(line); i++; } if(line==null){ System.out.print(i); break; } } } catch(FileNotFoundException e) { System.out.println("ファイルがありません"); } catch(IOException e) { System.out.println("入出力エラーです"); } } }
>>724 m = p.mather(line) をやるのは、 line に読み込んだ後。
>>724 それと、line の null チェックを matcher(line) を呼ぶ前に。
正規表現は合ってる。
727 :
デフォルトの名無しさん :2006/06/14(水) 21:27:09
キーボードより上限、下限の値を読み込みその範囲ないに7の倍数を表示する。 また最後に7の倍数の個数を表示するプログラムを作りなさい。 条件 for文をしよう。 入力データは整数型で上限下限の条件は0<下限<上限とする。 7の倍数は1行に10個表示する。 明日までなのでお願いします。
728 :
715 :2006/06/14(水) 21:33:40
>>727 擬似コードで書くとだいたいこんなかんじ
for (int i = 下限; i <= 上限; i++) {
i が 7 の倍数なら表示
10 個表示したら改行
}
>>730 を改造しとく
7の倍数の個数 = 0
for (int i = 下限; i <= 上限; i++) {
i が 7 の倍数なら {
7の倍数の個数が1以上で10の倍数なら改行
iを表示
7の倍数の個数++
}
}
改行
7の倍数の個数を表示
for (int i = 下限 + 7 - 下限 % 7; i <= 上限; i += 7) { iを表示 10個表示したら改行 }
>>729 "\w(\w|'|,)*(s'|\w)|\w+" でどうだろう
>>733 ありがとうございます。だいぶ近づきましたが、()と,が残ってしまいます。
Pattern p = Pattern.compile("[^\\w(\\w|'|,)*(s'|\\w)|\\w+]");
strs = p.split(str);
こんな感じでやって見たのですが
あー、ごめんなさい。,を除けばいいだけでしたね。 あとは()か・・・
>>734 否定をとって split じゃなくて
Matcher m = pattern.matcher(txt);
while (m.find()) {
strs.add(m.group().toLowerCase()) // strs は List
}
というかんじで
>>736 splitに拘りすぎてたみたいですね。ありがとうございます。無事出力することが出来ました。
数字も出力されてしまいますが、これは無視して良さそうですね。お世話になりました。
ブロック崩しなのですが、 【 課題 】ブロック崩しアプレットを作成しなさい。 ボールのサイズは10、ラケットサイズは任意、画面サイズは500×400とする。 画面上部ニブロック、スタートボタンを配置する。 現在のスコア、ハイスコア、残りボール数を表示する。 アップレットを起動するとボールを任意の位置に表示する。 マウスの移動と左右キーでラケットを左右に動かせる。 ボールは上、左右の壁に当たると跳ね返る。ブロックに当たった場合、 ブロックが消え、ポイントが加算される。 スタートボタンでゲームスタート。ボールがラケットより下に行くと ボールはロスとされる。ボールがロストした場合、三個まで新たにボール が出る。三個のボールをロストした場合、gameoverと表示する。 【 用語 】とくになし 【 期限 】6月17日正午まで 【 Ver 】とくになし 【 補足 】出来れば今日中にお願いしたいです。よろしくお願いします。
739 :
デフォルトの名無しさん :2006/06/15(木) 21:16:43
課題 】》1. 3を4で割った答えと余りを整数で答えなさい. 2. 3a=(3/2)b+c の等式を bについての等式に変形しなさい. 3. 数字だけを組み合わせて作る4桁の暗証番号は全部で何通りできますか? 4.キーボードから正の数を次々と入力し,0が来たら,それまで入力した数の最大値, 最小値,平均値を出力するプログラムを書きなさい 【 用語 】 1から3は計算で、4は繰り返しです。 【 期限 】6月22日まで。 【 Ver 】ez-HTML ver6.86.1 【 補足 】var a; while(true){ a=Number(window.prompt("データ入力")); if(a==0) break; document.write(a,"<br>"); ↑4のです。。まったくわかりません。 お願いします。
741 :
デフォルトの名無しさん :2006/06/18(日) 19:10:18
【 課題 】あるフォルダ内の複数のテキストファイルの内容を一つにまとめ、 新しいテキストファイルに出力するプログラムを作りなさい。 【 補足 】例えば、 あるフォルダに以下の内容をもつテキストファイルが存在した場合、 「あいうえお」 「かきくけこ」 「さしすせそ」 プログラムにより 「あいうえお かきくけこ さしすせそ」 という内容の新しいテキストファイルが出来上がるという感じです。 ただしファイルの数が何個であっても対応できるものでなければならないとのことです。 よろしくお願いします。
【 課題 】 ArrayListに、nameプロパティ、studentIdプロパティ、majorプロパティを持つ Studentクラスのオブジェクトが複数保存されている。 Studentオブジェクトを一つずつ比較して、studentIdかつmajorが同じものがあれば、 「学籍番号と専攻科目が重複しています。」とメッセージを出しなさい。 【 用語 】ありません 【 期限 】6月20日朝 【 Ver 】ありません 【 補足 】 ・どちらか一方のプロパティのみが一致した場合は対象外でお願いします。 ・以下のStudentクラスが用意されているので、それを使ってお願いします。(次番号に書きます) ・name、studentId、majorの各プロパティは、値は何でもいいです。
743 :
742 :2006/06/18(日) 21:40:53
class Student{ private String name; private int studentId; private String major; public Student(String name, int studentId, String major){ this.name=name; this.studentId=studentId; this.major=major; } public String getName(){ return name; } public int getStudentId(){ return id; } public String getMajor(){ return major; } } よろしくお願い致します。
744 :
デフォルトの名無しさん :2006/06/18(日) 23:36:23
ニュートンラプソン法でルート5を求めるプログラムを書け 教えてください。。。
745 :
デフォルトの名無しさん :2006/06/19(月) 00:32:08
何を?
テンプレも使えない奴に教えることなんざ無い
748 :
デフォルトの名無しさん :2006/06/19(月) 20:39:11
かなり部分的な話ですが、、 【 課題 】Vectorクラスのオブジェクトからデータを抜き出して配列を作る 【 用語 】 【 期限 】明日朝 【 Ver 】特になし 【 補足 】 {Aの名前,Aの住所,Aの電話番号,Bの名前,Bの住所,Bの電話番号,Cの名前,Cの住所,Cの電話番号,…nの名前,nの住所,nの電話番号}(n:n番目の意) みたいな感じで、Vectorクラスのオブジェクトに3種類のデータを順々に入れていったものを作ります。 ここからデータを取り出して、名前だけを格納した配列・住所だけを格納した配列・電話番号だけを格納した配列、を作りたいんです。 String [] name=new String [n];→{Aの名前,Bの名前,Cの名前,…} 見たいな感じで。 最初はfor文で開始場所をずらしてVectorから3つ置きにデータ出してきて…って思ったんですが、それだと格納先の配列まで3置きの番号が割り当てられます。 頭悪くてごめんなさい。 お知恵を貸してください、お願いします。
【 課題 】円、矩形、三角形を適宜組み合わせた簡単な「絵」をデザインし、その絵を表すようなクラスを作ってアプレッ トで描画してみよ。 【 期限 】6/20 【 補足 】複雑な絵でなく、シンプルな絵(マークみたいなもの)で良いので、その絵を構成する部品クラスを定義し、部品クラスを利用して絵(マーク)のクラスを作るのが目的だそうです。
>750 URLが途中で切れてる。
753 :
748 :2006/06/19(月) 22:43:00
>>750-2 あー、なるほど。3回読んで理解しました。。
ありがとうございました!!
【 課題 】次のHPのソースを出力するプログラムのURLの銘柄コードの部分を変え 3730〜3740までの 【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》 【 期限 】提出期限、解答希望日があれば書きます 【 Ver 】希望するJavaバージョンがあれば書きます 【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。 丸投げでない場合は、途中までのソースとその経過報告、 質問点、疑問点を書きます(なるべく丸投げにしてください)
755 :
755 :2006/06/19(月) 23:27:08
756 :
755 :2006/06/19(月) 23:27:43
import java.io.*;
import java.net.*;
public class WebRead2 {
public static void main(String[] args)
throws IOException
{
URL u = new URL("
http://quote.yahoo.co.jp/q?s=3730&d=t ");
InputStream is = u.openStream();
InputStreamReader isr = new InputStreamReader(is, "euc-jp");
BufferedReader r = new BufferedReader(isr);
String line;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
}
}
>>755 こんな感じかな?
import java.io.*;
import java.net.*;
public class WebRead3 {
public static void main(String[] args) throws IOException {
for(int i = 3730; i <= 3740; i++) {
String url = "
http://quote.yahoo.co.jp/q?s= " + i + "&d=t"";
System.out.println(url);
URL u =new URL(url);
InputStream is = u.openStream();
InputStreamReader isr = new InputStreamReader(is, "euc-jp");
BufferedReader r = new BufferedReader(isr);
String line;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
}
}
}
759 :
デフォルトの名無しさん :2006/06/20(火) 00:33:05
【課題】 サブクラスを以下の通りに作成しなさい。 ・計算を行うメソッドを持つ。 ・計算を行うメソッドは,第一引数にintを,第二引数には1次配列を持っています。 *第一引数の値が0の場合,第二引数の値をすべて足します。 *第一引数の値が1の場合,第二引数の値をすべて引きます。 *第一引数の値が2の場合,第二引数の値をすべて掛けます。 戻り値は,計算結果とします。 ・メインメソッドに,以下のメソッドを作成しなさい。 *サブクラスの計算メソッドを使用(任意の配列の数に任意の値を設定)し, 計算結果をメインメソッド内で出力しなさい。 【期限】 6/21(水)昼 宜しくお願いします。
760 :
デフォルトの名無しさん :2006/06/20(火) 00:45:24
>>759 サブクラスって元のクラスの指定は無いのか?
762 :
761 :2006/06/20(火) 01:00:53
import java.util.*; これは不要だから削除して参考にでも〜
>>758 出来ました!!
ありがとうございました。
台形の面積って 小 学 校 で勉強するよな?
俺もそこは大いに疑問だ あ、今は小学校じゃ習わんかもしれんな よく知らんが
(上底+下底)・・・ あれ、小学校で括弧って習ったっけ?
考えれば分かることだから公式の丸暗記はさせないんじゃなかったか?
皆目分からないってな人の立場がないなw
>>759 なんか気持ち悪い問題だね。
第一引数を削除して多態性を使うように書き直せっていう問題の間違いじゃないの?
ごめんなさい><
772 :
デフォルトの名無しさん :2006/06/20(火) 20:19:19
>>760 さん 元のサブクラスの指定はないです。
>>759 さん 早々のお答えありがとうございます!早速参考にさせて頂きます。
>>770 さん 計算メソッドを持つサブクラスと,それを呼び出すメインクラスを作れという課題です。
サブクラスに計算するset()メソッドを作り,その引数にメインから値を入れて,
計算結果をreturnするget()メソッドをサブクラスに作って,
メインで呼び出すという内容です。
課題○投げしたんですが解りにくくてすみません。
【 課題 】 5円玉、10円玉、50円玉、100円玉、500円玉がそれぞれ7枚あるとします。(総額4655円) 実行時引数として、4655以下の5の倍数の正整数nを入力します n円の買い物をするとして、買い物の結果、手元に残る小銭が最も少なくなるお金の払い方とを示しなさい 【 補足 】 java始めて2ヶ月ほどの自分には、かなり長い条件文になると思われ、むしろ数学の問題に近いと思います
774 :
742 :2006/06/20(火) 20:41:42
>>747 遅ればせながら、ありがとうございました。
775 :
デフォルトの名無しさん :2006/06/20(火) 21:14:46
777 :
デフォルトの名無しさん :2006/06/20(火) 23:09:37
>>773 条件分使わなくても8^5通り全検索すればできるお
778 :
759 :2006/06/20(火) 23:09:42
>>776 Javaはイイさん
はい,お陰様で無事コンパイルできました。
本当に助かりました!ありがとうございました!!
【 課題 】 アプレット上で3点をクリックするとその点で三角形を描くアプレットを作成しなさい。 【 補足 】 お願いします...
>>773 「小銭が最も少なくなる」の「少ない」は金額なのか枚数なのかを確認。
>>780 ごめ 金額は指定するんだから枚数に決まってらーね
>>779 <HTML><BODY><APPLET code="Ap.class" width=300, height=200></APPLET></BODY></HTML>
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Ap extends Applet {
Point[] points = new Point[3];
int count = 0;
public void init() {
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
points[count] = e.getPoint();
count++;
if (count > 2) {
repaint();
count = 0;
}
}
});
}
public void paint(Graphics g) {
g.drawRect(0, 0, 299, 199);
if (points[0] != null && points[1] != null && points[2] != null) {
g.drawLine(points[0].x, points[0].y, points[1].x, points[1].y);
g.drawLine(points[1].x, points[1].y, points[2].x, points[2].y);
g.drawLine(points[2].x, points[2].y, points[0].x, points[0].y);
}
}
}
>>780 はアフォか?wwwwww
n円払うって言ってんだろwwwww
どうだまいったか
787 :
デフォルトの名無しさん :2006/06/21(水) 09:55:32
【 課題 】 データ分布 あらかじめ年齢データが格納された配列nenreiがある。 これは,変数宣言と同時に値を格納 nenreiには,10, 23 ,94 ,22, 46, 32, 64, 88, 23, 35, 67, 54, 34, 62, 99 年代別(0代〜90代)の人数をカウントして,集計結果を出力する。 なお,データの終わりには負の値が格納されており,最大データ件数は100件を越えないものとする。 ただし,if文やswitch文を使わない。 【 期限 】できれば明日までに 【 補足 】カウントの仕方が分かりませんので丸投げですが、どうぞ宜しくお願いします。
>>782 配列、メソッドは習いましたけど、こんなのは授業でやってなくてわからん・・・
static final int[] COINS = {5, 10, 50, 100, 500};
boolean search(int remain, int n) {
public void print() {
その時点で出された問題だからそれ以外のjavaのテクニックみたいなのは使わないはずです
>>787 int[] nums = new int[10];
for (int i = 0; i < nenrei.length && nenrei[i] >= 0; i++) {
nums[nenrei[i] / 10]++;
}
for (int i = 0; i < nums.length; i++) {
System.out.printf("%2d代:%3d人%n", i * 10, nums[i]);
}
>>788 「static final」にはこの場合たいした意味はないので、
説明できないと思えば消してもいい。
あとは配列とメソッドを習って理解したなら、分かると思うんだけど。
792 :
787 :2006/06/21(水) 11:47:49
>>790 動作しました。
とても勉強になります。本当に有り難うございました。
793 :
デフォルトの名無しさん :2006/06/21(水) 13:26:19
javaを用いて「台形公式による円周率の近似値の計算(分割数は1000)」 を完成させなさい。という問題を教えていただけませんか? 初心者の私にいきなりこんな授業は酷すぎて死んでいます。 よろしかったらどなたかお願いいたします。
794 :
デフォルトの名無しさん :2006/06/21(水) 13:41:16
最初は誰でも初心者だ 死んだ奴は居ないんだがな
795 :
793 :2006/06/21(水) 13:55:19
java ではなく javascript でした。
796 :
デフォルトの名無しさん :2006/06/21(水) 14:09:53
【課題】 00000001〜99999999という8桁の連番を生成するもの 下記のようにfor文の中にfor文っていうのを繰り返せばできると思うのですが もっと簡単にできないでしょうか。 for (int a = 0; a <= 9; a++) { for (int a = 0; a <=9; a++) { (以下8桁分繰り返し) } } 宜しくお願いします。
生成って言われてもねぇ 課題は丸投げにしろって言ってんだろ for(int i=0;i<100000000;i++) じゃ駄目なのか?
>>797 やり方はいろいろあろうが、とりあえず連番を for で生成するとして、
a, printf("%08d", i) とか Formatter とかそのへんを使う
b, 桁数を調べ、足りない 0 を文字列頭に追加
b-a, 基数で割っていって地道に調べる
b-b, String.valueOf(i) などで文字列に直し、その文字列長を調べる
c, 10 で割りながら余りを頭についでいく
たぶん、b-a あたりが出題者の想定する解法。
もっとトリッキーなのがあれば知りたい。
>>799 分類的には b-b だと思うけどこういうのも。
public static void main(String[] args) {
String[] values = {"00000000","0000000","000000",
"00000","0000","000","00","0",""};
String str = String.valueOf(1000);
System.out.println( values[str.length()] + str);
}
元ネタ「リファクタリング」
>>799 C じゃないんだから、桁数を調べるなら Math.log10() を使えば
802 :
でふぉるとの名無しさん :2006/06/22(木) 14:24:57
【課題】 日付を2つ入力して,その間に何日あるかを書き出すプログラム(Nannichi)を作れ。 実行例はつぎの通りである. 日付を2つ入力して下さい. 例を挙げますと・・・ 何年? 2005 何月? 7 何日? 1 何年? 2006 何月? 7 何日? 1 日数は 365日です このようになるプログラムらしいです。 先生の話がまったく理解できなかったため手も足も出ませんでした・・・。 どうぞよろしくお願いします。
c1.clear();
JAVAの1.4での課題なんですが、コマンドプロンプトで実行したら、 @まず、適当に文字を入力させて【コントロール】+Zで終了Aテキストに保存[Y/N]でするかをきいてYならば保存名をつけさせる。Nならば次の処理へ B保存しおわったらプログラムを終わるか同じように聞く。Yなら終わり、Nならまた聞くできないのでおしえてください。
改行することから覚えろ
807 :
デフォルトの名無しさん :2006/06/23(金) 15:24:35
初めて書き込みます。 よろしくお願いします。 【 課題 】Java Sound API のMixer を使い音声を合成するプログラムを作れ。 【 補足 】Java SoundのMixer の synchronize() メソッドを使い 複数のオーディオデータを同期させて合成した音声を再生できれば いいみたいです。
806すいません。今、ケータイなんでちゃんと改行できません。
ケータイでもちゃんと改行はできるだろ・・・
【 課題 】コマンドライン引数で年月日をYYYY/MM/DDで指定し、 それをYYYY年MM月DD日の形式で表示するプログラムを作成してください。 【 補足 】問題文は上の通りなのですが、コマンドプロンプトで入力する際に、 YYYY/MM/D、YYYY/M/DDの場合、YYYY/M/Dの場合もそれぞれ YYYY年MM月D日、YYYY年M月DD日、YYYY年M月D日で表示させなければいけません。
import java.util.regex.*; class Sample{ public static void main(String args[]){ Pattern pattern = Pattern.compile("/"); String[] strs = pattern.split(args[0]); System.out.println(strs[0]+"年"+strs[1]+"月"+strs[2]+"日"); } }
813 :
デフォルトの名無しさん :2006/06/24(土) 14:44:02
あみだくじを表示するプログラムを作りなさい。ただし、あみだくじの形は、縦棒の数、縦棒の長さ(y座標数)、 横棒の場所(x座標とy座標)をキーボードから入力。横棒は縦棒を飛び越。また、えて引けないある縦棒の同じy座標の 左右に横棒が指定された場合と横棒の指定場所が座標最大値を超える場合は、「指定した座標は無効です。」と出力し、 再び入力を催促しなさい。ヒント:縦棒を10本以下、縦棒の長さ(y座標数)を10以下とする。x座標とy座標を行と列方向とする 2次元配列を用意し、そこに横棒の有無を1と0で格納する。 教えてください!!
814 :
デフォルトの名無しさん :2006/06/24(土) 14:46:24
あみだくじを表示するプログラムを作りなさい。ただし、あみだくじの形は、縦棒の数、縦棒の長さ(y座標数)、 横棒の場所(x座標とy座標)をキーボードから入力。横棒は縦棒を飛び越えて引けない。また、ある縦棒の同じy座標の 左右に横棒が指定された場合と横棒の指定場所が座標最大値を超える場合は、「指定した座標は無効です。」と出力し、 再び入力を催促しなさい。ヒント:縦棒を10本以下、縦棒の長さ(y座標数)を10以下とする。x座標とy座標を行と列方向とする 2次元配列を用意し、そこに横棒の有無を1と0で格納する。 教えてください!!
>>813 テンプレ使え。
>>1 嫁。一度文章読み直してから書け。ちゃんと改行しろ。
なんでテンプレ使えないんだ・・
758 :デフォルトの名無しさん :2006/06/24(土) 13:49:59 あみだくじを作りたいんですが、うまくできません。 どうしたら、いいんですか??
nに入力された数字列の中で最も多く出現する数字を返すメソッドcountの中身を埋めなさい。ただし、最も多く出現する数字が複数ある場合、位が小さい数字を優先的に返すことにする。 例えば、nが123331の場合、3が3個、1が2個、2が1個出現するので返す値は3となる。 また、nが245654の場合、4と5が2個、2と6が1個出現する。この場合4の方が小さい位で出現しているので返す値は4となる。 public class NumCounter{ public int count(int n){ int[] a=new int[10]; for(int i=0;i<10;i++)a[i]=0; r=n%10; n=n/10; a[r+1]++; int ans=0; for(int i=0;i<10;i++)if(a[i]>ans)ans=a[i] return ans; } } ここまではやったのですが 最も多く出現する数字が複数ある場合、位が小さい数字を優先的に返すことにする。 が書けません。どうすればいいでしょうか
>>818 public static int count(int n){
int[] a = new int[10];
int r, j, tmp1, tmp2;
for (int i = 0; i < 10; i++) a[i] = 0;
while (n > 0) {r = n % 10;n = n / 10;a[r]++;}
for (j = 1, tmp1 = a[0], tmp2 = j; j < 10; j++) {
if(a[j] > tmp1) {tmp1 = a[j];tmp2 = j;}}
return tmp2;}}
>>818 適当に作ってみた。
変なとこあってもしりません。
public int count(int n) {
// TODO 自動生成されたメソッド・スタブ
String strNum = String.valueOf(n);
int[] a = new int[strNum.length()];
int[] num = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
int ans, max;
for (int i = 0; i < a.length; i++) {
a[i] = n % 10;
n = n / 10;
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < a.length; j++) {
if (a[j] == i) {
num[i]++;
}
}
}
ans = 0;
max = num[0];
for (int i = 1; i < 10; i++) {
if (max < num[i]) {
max = num[i];
ans = i;
}
}
return ans;
}
821 :
デフォルトの名無しさん :2006/06/27(火) 19:53:49
>>819-820 今日見させてもらったがあんたら問題文理解してないだろ
nが245654の場合、4と5が2個、2と6が1個出現する。この場合4の方が小さい位で出現しているので返す値は4となる。だぞ
だが
>>820 、全ての桁の数字を配列に格納するのはナイスだ使わせてもらった
public class NumCounter{
public int count(int n){
int z=n;
int keta=0;
while(z>0){z/=10; keta++;}
int[] a=new int[keta];
int[] num=new int[] {0,0,0,0,0,0,0,0,0,0};
for(int i=0; i<a.length; i++){a[i]=n%10; n/=10;}
for(int i=0; i<10; i++){
for(int j=0; j<a.length; j++){
if(a[j]==i)num[i]++;
}
}
int ans=0,max=num[0];
for(int i=0;i<10;i++){
if(num[i]>max){max=num[i]; ans=i;}
if(num[i]==max){
for(int h=0;h<a.length;h++){
if(a[h]==i){ans=i;break;}
if(a[h]==ans)break;
}
}
}
return ans;
}
}
これで見てくれ
>>821
822 :
デフォルトの名無しさん :2006/06/27(火) 20:54:00
何このバカ
【 課題 】以下のテキストファイルに対するThorndikeTableをつくり、結果を印字せよ。
ただし、印字用のLaTeXコードは無視する。
ttp://www.katsakuri.sakura.ne.jp/src/up14056.txt.html 例)
frequency word
9996 software ←新しい単語が出る度に検出、最終的に数が多いものからソートする
・ ・
・ ・
・ ・
56 engineering
注意:
1)件のファイルは、デバッグでは使用できない。
2)複数形の語は単数形の語として集計する。また過去形、過去分詞は現在形として集計する。
文頭のために大文字表示されている文字は、小文字表示に直して処理すること。
数字だけの語は対象外とする。
【 期限 】7/5 22:00まで
【 補足 】丸投げです。よろしくお願いします
>>821 よくわからんがとりあえず819をお前の言うn=245654にしたら4が返ってきたぞ。
>824 よく分からないなら書くな。 例)254645 5が正解。
826 :
デフォルトの名無しさん :2006/06/27(火) 23:19:13
825 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/27(火) 23:15:39 >824 よく分からないなら書くな。 例)254645 5が正解。
>>828 よく見ろ。数字ちがうだろ?
この場合5が1の位なんだから5が返るのが正解だろ。
830 :
828 :2006/06/27(火) 23:42:37
ああ、値じゃなくて位か。 勘違いしてた。
832 :
デフォルトの名無しさん :2006/06/28(水) 00:22:19
>>819 は3434でやってみろ3が返ってくる
個数が同じ場合"位が小さいほう"じゃなくて、"数字が小さいほう"が返ってくるだけだ
>>820 も同じことやってる
なにこのバカども
>>819-821 一応nが負の場合も考慮してみた。
public static int count(int n) {
int[] first = new int[10];
String str = Integer.toString(n);
for (int i=0; i<10; i++) {
first[i] = str.lastIndexOf(Integer.toString(i));
}
int[] count = new int[10];
do {
count[n%10]++;
n /= 10;
} while (n!=0);
int result = 0;
for (int i=0; i<10; i++) {
if (count[i]>count[result] ||
count[i]==count[result] && first[i]>first[result]) {
result = i;
}
}
return result;
}
間違えた。 int[] count = new int[10]; int temp = Math.abs(n); do { count[temp%10]++; temp /= 10; } while (temp!=0);
去年に比べて回答者のレベルが急激に下がってるな あのバカのせいでまともに答える奴がいなくなっちゃったか
837 :
デフォルトの名無しさん :2006/06/28(水) 00:57:16
質問者のが先に答え出しちゃって回答者もバカ揃いだな
バレてないとでも思ってるのかなぁ おちょくられてるのに
839 :
デフォルトの名無しさん :2006/06/28(水) 01:09:37
>>839 テンプレも使えないバカが見事におちょくられたってことだなw
842 :
823 :2006/06/28(水) 02:03:11
>>840 全部自分で実装しないといけないっぽいです
結構難しいって言われました…
上から目線の質問者(笑)
>>842 単語の切り出しは前に答えた気がするので、このスレの上の方にあるはず。
語形変化は、不可算名詞、不規則変化する単語、規則変化する単語などを個別に調べて、標準形に直す。
なお、単語のリストは自分でつくるか、ネット上にいろいろある英語辞書からとってくるかする。
単語のリストを集計してソート。
というステップで大体できるんじゃないか。
標準形に戻す部分を完全にするのはまず無理だろうから、
課題文の範囲で問題でない程度にごまかせば?
847 :
823 :2006/06/28(水) 04:11:24
>>846 やっぱり難しそうですね…自力で解くしかないでしょうかorz
>>848 理解できて無いようですね
学生生活楽しんで就職してから悩みなさい
>>847 語形変化する単語のリストさえなんとかすれば、面倒なだけでそれほど難しくはないと思う。
あと1週間あるんだから、クラスメイトでも誘って頑張ってみれば?
>>847 とりあえずかなりテキトーに数えるだけなら
public static void main(String[] args) throws Exception {
File file = new File("long.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
StringBuilder builder = new StringBuilder();
while ((line = reader.readLine()) != null) {
builder.append(line);
}
String to = builder.toString();
Map<String, Integer> map = new HashMap<String, Integer>();
StringTokenizer tokenizer = new StringTokenizer(to);
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
if (map.containsKey(token)) {
map.put(token, map.get(token) + 1);
} else {
map.put(token, 1);
}
}
Iterator<Map.Entry<String, Integer>> itr = map.entrySet().iterator();
while (itr.hasNext()) {
Map.Entry<String, Integer> entry = itr.next();
System.out.println(key + " : " + entry.getValue());
}
}
852 :
851 :2006/06/28(水) 18:23:43
でも、コレだと記号とかハイフネーションとか全然考慮してない。 このへんの判断ロジックがちょっと面倒なだけで 辞書作りはひたすら手間だけかな。
853 :
820 :2006/06/28(水) 18:25:55
問題勘違いしてた。値と位。 スマソ。
>>818 遅蒔きながら俺もやってみた
static int count(int n) {
String str = String.valueOf(Math.abs(n));
int[] count = new int[10];
int max = 0, num = 0;
for(int i=0; i<str.length(); i++) {
int tmp = str.charAt(i) - '0';
count[tmp]++;
if (max <= count[tmp]) {
max = count[tmp];
num = tmp;
}
}
return num;
}
855 :
デフォルトの名無しさん :2006/06/28(水) 19:46:50
String.valueOf(Math.abs(n)) がわからん、まだ習ってない こんなの使って提出したらバレる
だったら最初から条件書いとけやカス
>>855 じゃ、これで
if (n < 0) n = -n;
String str = String.valueOf(n);
>>855 随分上から目線だと思ったらやっぱりバカ学生かよ( ´_ゝ`)
860 :
デフォルトの名無しさん :2006/06/28(水) 20:01:44
じゃぁ、メソッドは使っちゃいけない
nがInteger.MIN_VALUE (-2147483648) だとちゃんと動かないのは秘密だぞw
for (int i = (n < 0) ? 1 : 0; i < str.length(); i++) でいいんじゃね?
>>862 ああ、それでよさげだね。
でも 「こんなの(三項演算子)まだ習ってない、こんなの使って提出したらバレる」 とか言ってきたりw
流石にそれは・・・ありえるなw
865 :
デフォルトの名無しさん :2006/06/28(水) 21:02:35
こんなの(三項演算子)まだ習ってない、こんなの使って提出したらバレる
866 :
デフォルトの名無しさん :2006/06/28(水) 21:05:35
もういいや、使えないのばっかだし、もう提出したし
バカ学生の限界だな
868 :
823 :2006/06/28(水) 21:57:10
>>850 ひとりぼっちのボク(´・ω・`)
>>851 ありがとうございます!なんとか頑張ってみます
【 課題 】10 円玉,50 円玉,100 円玉がそれぞれ十分多くある. これらのうちから何個か (0 個のものがあってもよい) 取り出して,その合計金額を 1000 円とする組合せが何通り あるかを for 文を用いて数え上げ,画面に表示せよ. 【 用語 】特になし 【 期限 】7月1日 【 Ver 】1.4.2 【 補足 】宜しくお願いします。
>>869 class Test{
public static void main(String[] args){
for (int i = 0; i <= 1000; i+= 10)
for (int j = 0; j <= 1000; j+= 50)
for (int k = 0; k <= 1000; k+= 100)
if (i + j + k == 1000)
System.out.println("10円玉:" + i/10 + "枚 50円玉:" + j/50 + "枚 100円玉:" + k/100 + "枚");
}
}
871 :
870 :2006/06/29(木) 01:00:55
数え上げろだからカウントかますのが抜けてた スマソ class Test{ public static void main(String[] args){ int cnt = 0; for (int i = 0; i <= 1000; i+= 10) for (int j = 0; j <= 1000; j+= 50) for (int k = 0; k <= 1000; k+= 100) if (i + j + k == 1000){ System.out.println("10円玉:" + i/10 + "枚 50円玉:" + j/50 + "枚 100円玉:" + k/100 + "枚"); cnt ++; } System.out.println(cnt + "通り"); } }
【 課題 】「月曜から金曜までの勉強時間を入力して、総勉強時間を表示するプログラム」を作成する。 ただし、・勉強時間の入力は、曜日ごとに「開始時間」と「終了時間」を分単位で入力する。 分の切捨てや切り上げは行わない、総勉強時間は「何時間何分」という形で表示すること。 総勉強時間を表示した後、その結果を30分単位で四捨五入して時間に直し、以下のようなメッセジーを出す。 5時間以下の場合 今週の総勉強時間は約 + benkyoJikan + 時間です。このままだとやばいかも。。。 benkyoJikan は総勉強時間を30分単位で四捨五入した時間数にする 6時間以上10時間未満の場合 今週の総勉強時間は約 + benkyoJikan +時間です。もう少し頑張ろうか!" benkyoJikan は総勉強時間を30分単位で四捨五入した時間数にする 【 用語 】なし 【 期限 】6/30日の御前8時まで 【 Ver 】どれでも大丈夫だと思います 【 補足 】制御の組み合わせのプログラムらしいんですけど、全然判らないので丸投げです。 よろしくお願いします
>>872 import java.io.*;
class A120 {
int main;
public static void main(String[] args) {
String[] days = {"月", "火", "水", "木" , "金"};
int totalTime = 0;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++) {
System.out.print(days[i] + "曜日の開始時刻 ");
String t1 = br.readLine();
System.out.print( " 終了時刻 ");
String t2 = br.readLine();
String[] t1s = t1.split(":");
String[] t2s = t2.split(":");
int h1 = Integer.parseInt(t1s[0]); int m1 = Integer.parseInt(t1s[1]);
int h2 = Integer.parseInt(t2s[0]); int m2 = Integer.parseInt(t2s[1]);
int time = (h2*60 + m2) - (h1*60 + m1);
totalTime += time;
}
System.out.println("総勉強時間は " + totalTime/60 + " 時間" + totalTime%60 + " 分です。");
int benkyoJikan = (totalTime+30)/60;
if (benkyoJikan <= 5) {
System.out.println("今週の総勉強時間は約 " + benkyoJikan + " 時間です。このままだとやばいかも。。。");
} else if(benkyoJikan <= 10) {
System.out.println("今週の総勉強時間は約 " + benkyoJikan + " 時間です。もう少し頑張ろうか!");
}
} catch (IOException e) {} catch (NumberFormatException e) {System.err.println("時刻が不正です");}
}
}
【 課題 】1.画面上で5回クリックする。 5回目に5つのクリック点を(クリックした順に)結ぶ折れ線を表示する。 2.海面近くを漂う(上から見えない)機雷を上空から爆撃し除去する。 機雷周辺距離20mに爆弾を落とすと機雷が爆発して取り除ける(機雷周辺20mが赤くなる)。 機雷から20〜50mの範囲に爆弾が落ちると落ちた地点を中心に黄色い円ができる。 機雷は流され少しずつランダムに動く。 (機雷と着弾点の間の距離を求めるのに3平方の定理と、Math.sqrt(距離の自乗)を使用) 3.複数(3つ)の機雷があるケースをシミュレーションするため、機雷クラスを使う方法を検討する。 次に機雷クラスの配列を使ったプログラムを示す。ただし、プログラムでは1つの機雷しか生成していない。 これを変更し4つの機雷をシミュレートできるようにせよ。 【 用語 】特になし 【 期限 】7月1日 【 補足 】丸投げです。お願いします。
875 :
デフォルトの名無しさん :2006/06/29(木) 10:32:25
877 :
805 :2006/06/29(木) 13:16:29
810さん 見れないんですが
879 :
877 :2006/06/29(木) 16:15:47
カスでご・め・んФwФ
880 :
デフォルトの名無しさん :2006/06/29(木) 18:40:03
いつまでもネチネチしてんじゃねーぞー
ネチネチ。
【 課題 】 今年2006年のカレンダーを表示するプログラムを作成してください。 目安は20〜30行です。 【 用語 】なし 【 期限 】なし 【 Ver 】どれでも 【 補足 】以下のようにコマンドプロンプトで月ごとに縦に表示させてください 1月 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ・ ・ ・ ・
883 :
デフォルトの名無しさん :2006/06/29(木) 22:41:08
【 課題 】n以下の素数を全て見つけ出し、画面上に表示するプログラムを作成せよ。 ただし、必ず配列と繰り返し文(for,while,do-whileの何を使ってもよい)を用いること。 なお、nはコマンドラインから入力できるようにすること。 【 期限 】7月1日 【 補足 】丸投げです。よろしくお願いします。
>>874 1だけ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Report56_874_1 extends JFrame {
private int maxCount = 5;
private int[] xpoints = new int[maxCount];
private int[] ypoints = new int[maxCount];
private int counter = 0;
private Color lineColor = Color.BLACK;
private int radius = 3;
public Report56_874_1() {
super();
// マウスクリックの処理
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
addPoint(e.getPoint());
repaint();
}
});
}
つづき // 点の追加 private void addPoint(Point point) { if (counter >= maxCount) { counter = 0; } xpoints[counter] = point.x; ypoints[counter] = point.y; counter++; } // 多角形の描画 public void paint(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(lineColor); for (int i = 0; i < counter; i++) { g.fillOval(xpoints[i] - radius, ypoints[i] - radius, radius * 2, radius * 2); g.drawPolyline(xpoints, ypoints, counter); } } public static void main(String[] args) { JFrame frame = new Report56_874_1(); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setSize(400, 400); frame.setVisible(true); } }
あ、5回目に表示だからちょっと違ったな。 2と3は所与の機雷クラスがあるはずなので放置。
888 :
672 :2006/06/30(金) 01:24:59
実行してみたんだけどSystem.out.printlnの行が表示されない… やっぱいまいち理解できてないや…
public class a { public static void main (String[] args){ for (int N = 1 ; N <= 100000000; N*=10){ double e = 1.0f; for (int i = 0; i < N; i++) e = e * (1.0+1.0/(double)N); System.out.println(e); } } }
【 課題 】各自、独自の設計によって動的で対話型のJavaアプレットを作成せよ。作成にあたっての構想、設計の過程 、使用したクラスライブラリなどの説明を含め、プログラムの構成や動作を他人が理解できるように解説せよ。 【 用語 】特にないかと・・・ 【 期限 】 7月3日 13時30分 【 Ver 】 得にないです。 【 補足 】まだ初歩的なことしか習っていないのでとても単純な対話的な動作でお願いします。 例えばボタンを押すとボールが回転してもう1回ボタンを押すとボールが止まるみたいな感じでお願いします。
テンプレ使ってるのは評価できるんだが もうちょっと詳しく書いてくれよ・・
すみません。もう少し詳しく書きます。 スタートボタンを押すとボール(丸)が回転し、ストップボタンを押すとボールの回転が止まるって いうプログラムを作っているのですけどどうしてもうまくいかなくて・・・ ボールの色の指定もボタン操作でできればお願いします。
893 :
デフォルトの名無しさん :2006/06/30(金) 16:30:36
int n=Integer.parseInt(args[0]); int m=4655-n; int[] a={500,100,50,10,5}; int[] b={7,7,7,7,7}; for(int i=0;i<5;i++){ while(m>0 || b[i]>0){b[i]--; m-=a[i];} } System.out.printf("支払う金額%5d円%n残った硬貨%n",n); for(int i=4;i>=0;i--)System.out.printf("%3d円%2d枚%n",a[i],b[i]); System.out.println("使用した硬貨"); for(int i=4;i>=0;i--)System.out.printf("%3d円%2d枚%n",a[i],7-b[i]); System.out.printf("%3d円%2d枚%n",a[i],b[i]); for(int i=4;i>=0;i--)System.out.printf("%3d円%2d枚%n",a[i],b[i]); のiに対してシンボルを見つけられませんてエラー出てくるのだけど何がおかしいですか?
894 :
デフォルトの名無しさん :2006/06/30(金) 16:32:33
↑なんでもありません
895 :
851 :2006/06/30(金) 17:33:56
>>892 回転って、自転してるのか、円運動を描くのか、とかあるけどどんな感じだい?
単色のボールだと、自転してる場合は表現に困るんだが。
なんか模様があるのかね
>>892 なにがうまくいかないのか、その説明ではさっぱり。
ボタンなしでボールが回りっぱなしなら作れるの?
899 :
890 :2006/07/01(土) 00:33:52
円運動をしての回転です。度々すみません・・・ よろしくお願いします。
【 課題 】2〜1000までの素数を全て求めるプログラムを作成せよ 【 期限 】7月3日までです 【 補足 】繰り返し文((for,while,do-while)を用いて作成します。配列というやつはまだ
901 :
900 :2006/07/01(土) 09:02:13
すいません途中で書き込んじゃいました。 【 課題 】2〜1000までの素数を全て求めるプログラムを作成せよ 【 期限 】7月3日までです 【 補足 】繰り返し文((for,while,do-while)を用いて作成します。配列というやつはまだ 習っていないので使用してはいけないです。 お願いします
じゃあコレクションフレームワークはいいんだな?
903 :
901 :2006/07/01(土) 09:23:26
>>902 コレクションフレームワークっていうのわかりませんが多分ダメです。
まだ授業で繰り返し文までしかやっていないのであまり難しいのはダメです。
繰り返し文までの範囲でお願いします
繰り返し分までの範囲って言われても あんたの受けてる授業の進度なんて知らんがなw
>>901 もしかしてmainメソッド以外のメソッド使うなとか?
breakとかやった?
>>901 class Prime {
public static void main(String[] args) {
boolean flag;
for (int i = 2; i <= 1000; i++) {
flag = true;
for (int j = 2; j < i; j++) {
if (i%j == 0) {
flag = false;
}
}
if (flag) {
System.out.println(i);
}
}
}
}
>>906 2つめのループは j < i / 2 でよくない?
908 :
901 :2006/07/01(土) 10:10:11
>>903 まだif文とか繰り返し文までしかやってません。
>>904 多分main以外はダメです。breakはswitch文でやりました。
>>905 ありがとうございます!できました!
909 :
906 :2006/07/01(土) 15:15:14
>>906 を改良してみた。
class Prime {
public static void main(String[] args) {
boolean flag;
for (int i = 2; i <= 1000; i++) {
flag = true;
for (int j = 2; j <= (int)Math.sqrt(i); j++) {
if (i%j == 0) {
flag = false;
break;
}
}
if (flag) {
System.out.println(i);
}
}
}
}
910 :
909 :2006/07/01(土) 15:15:57
名前間違えた
【課題提示用テンプレ】 【 課題 】文字列1に対し、文字列2で指定した部分だけ抜き出す。 【 用語 】特にないです 【 期限 】7/1 土曜日(23:59まで) 【 Ver 】Eclipse 3.1 【 補足 】初歩的な内容ですみません。 例えば文字列1に「abcabcabc」を入力し、文字列2に「bc」と入力すると 「bcbcbc」と表示するようにしたいんです。 多分Stringを使って書けばいいと思うんですが、Stringの何を使えばいいのかわかりません。お願いします。
912 :
890 :2006/07/01(土) 16:49:36
わかりにくくなったのでまとめます。 【 課題 】各自、独自の設計によって動的で対話型のJavaアプレットを作成せよ。作成にあたっての構想、設計の過程 、使用したクラスライブラリなどの説明を含め、プログラムの構成や動作を他人が理解できるように解説せよ。 【 用語 】特にないかと・・・ 【 期限 】 7月3日 13時30分 【 Ver 】 得にないです。 【 補足 】Javaアプレットでstartボタンを押すとボールが円運動をし、stopボタンで円運動を止める。 どうかよろしくお願いします。
ん〜・・ ソースポストネットが落ちてるな
>>912 ここで誰かが教えたら「独自」じゃなくなっちゃうから、
その課題の答えは教えようがない
916 :
890 :2006/07/02(日) 00:07:17
>>914 テンプレ通りそのまま課題文を書いたので・・・補足に書いてある
[Javaアプレットでstartボタンを押すとボールが円運動をし、stopボタンで円運動を止める。]プログラム
も難しいでしょうか・・・
できればこちらでお願いします。
【 課題 】ア)実行時に引数として英数文字からなる単語(文字列)を いくつか指定する.そのうち最も文字数の多い単語の文 字数を表示するプログラムを作れ. イ)実行時に引数として英数文字からなる単語(文字列)を いくつか指定する.それらの単語を辞書式の順序に並べ 替えて表示するプログラムを作れ. 【 期限 】7月3日(月) 【 Ver 】どれでもいけると思います。 【 補足 】丸投げです。よろしくお願いします。
>>917 ア)の課題
public class Sample0005 {
public static void main(String[] args) {
int num = 0;
if(args.length < 1) {
System.out.println("英数字の単語を二つ以上入力してください。");
System.exit(-1);
}
num = args[0].length();
for(int i = 1; i < args.length; i++) {
if(num < args[i].length()) {
num = args[i].length();
}
}
System.out.println("一番多い文字数は'" + num + "'です。");
}
}
>>917 イ)の課題
import java.util.*;
public class Sample0006 {
public static void main(String[] args) {
if(args.length < 1) {
System.out.println("英数字の単語を二つ以上入力してください。");
System.exit(-1);
}
Arrays.sort(args);
for(String str : args)
System.out.println(str);
}
}
【 課題 】 20個の20桁の整数の和を計算するプログラムを作成しなさい。 計算する際、適当な桁で整数を分割し、各桁の計算をそれぞれ別のスレッドで行いなさい。 最後にBigInteger型を用いて検算しなさい。 【 用語 】なし 【 期限 】7月3日午後11時まで 【 Ver 】どれでも 【 補足 】全然わからないので丸投げです。よろしくお願いします。
ちょっとすれ違いかもしれませんがお願いします 【 課題 】人事管理システムのDB1〜4段階まであり、1段階目はjavaのみでDB設計 人事情報をDOSプロントから一覧表示登録、変更、削除する。(課題は1段階目まで メモリテープル上に登録された情報をコンソールから入力し、メモリ上に登録し、一人分の人事情報登録をくり 返すことで複数の情報を登録、メモリ上に登録された情報をコンソールで指定したファイルに書き込める(常に新規作成する) 人事商法をコンソールで指定したファイルから読み込める、その他DBに登録する再の存在しない場合のエラー、入力時に未入力、重複だった場合のエラー処理 などがあります。(人事情報はarrayリストなどで作るらしい) 【 期限 】できれば7月第2週まで 【 Ver 】バージョンはないですがECLIPSEを使っての課題です 【 補足 】javaは一応情報系専門学校の1.2年でやってますが基本的なことだけ WEBアプリ(DB)の課題もやったが正直教科書みながらだったんでほぼ初心者です。 3年で学科をかえたのですが、何故かこの科目のこの課題が成績に大きく関係あるので 参考にできそうなお勧めの参考書やHPなどがありましたらよろしくお願いします。 本屋などをみても似たようなテキストはあるのですがどれもWEB関係の本でしたので多少参考にはなった のですがファイルの入出力、arrayリストなどで困っています。
javaのバージョンが無いってのはありえないんだが・・
>>922 すみませんそちらで聞いてみます
>>923 すみません、バージョンの指定は特にしないってことです
926 :
:2006/07/03(月) 23:47:26
927 :
:2006/07/03(月) 23:59:29
928 :
:2006/07/04(火) 00:00:13
929 :
:2006/07/04(火) 00:06:57
930 :
:2006/07/04(火) 01:08:27
931 :
:2006/07/04(火) 02:36:47
932 :
:2006/07/04(火) 02:37:29
933 :
:2006/07/04(火) 02:38:04
934 :
:2006/07/04(火) 02:40:01
935 :
:2006/07/04(火) 02:40:35
936 :
:2006/07/04(火) 03:45:08
>918、919 違うんでわ?
938 :
デフォルトの名無しさん :2006/07/04(火) 21:00:01
時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) i−want−to−study−java@hotmail.co.jp (アドレスは全角で書いてあるので半角に直してください) よろしくおねがいします
まじ?
940 :
:2006/07/04(火) 21:18:54
941 :
:2006/07/04(火) 21:58:01
942 :
:2006/07/04(火) 22:35:08
943 :
:2006/07/05(水) 00:09:50
944 :
:2006/07/05(水) 00:19:08
945 :
:2006/07/05(水) 00:41:52
946 :
:2006/07/05(水) 00:47:56
947 :
:2006/07/05(水) 00:53:28
948 :
:2006/07/05(水) 01:40:11
949 :
:2006/07/05(水) 01:42:35
950 :
:2006/07/05(水) 01:49:05
951 :
:2006/07/05(水) 02:12:26
952 :
:2006/07/05(水) 02:23:46
953 :
:2006/07/05(水) 02:27:12
954 :
:2006/07/05(水) 02:27:56
955 :
:2006/07/05(水) 08:13:17
956 :
:2006/07/05(水) 19:45:42
957 :
:2006/07/05(水) 19:46:55
バカにされた学生が荒らしてるんじゃないか
納得した
【課題提示用テンプレ】 【 課題 】マルバツゲームを作れ 【 期限 】明日 【 補足 】CP上ででキル奴作ればいいみたいですお願いします。
962 :
:2006/07/06(木) 02:13:15
963 :
:2006/07/06(木) 02:13:46
964 :
:2006/07/06(木) 02:17:07
965 :
:2006/07/06(木) 02:17:56
966 :
:2006/07/06(木) 02:19:07
967 :
デフォルトの名無しさん :2006/07/06(木) 03:48:59
>>961 TicTacToe.javaをおまいのPCで検索しろ
968 :
:2006/07/06(木) 07:35:28
969 :
:2006/07/06(木) 07:38:15
970 :
デフォルトの名無しさん :2006/07/06(木) 08:58:53
var point = new GLatLng(緯度1,経度1); var distance = point.distanceFrom(new GLatLng(緯度2,経度2)); これで2地点の距離がdistanceに入るらしいのですが どうやって使えばいいのでしょうか?
>>970 Javascript は Web 制作板
次からこの注意書きテンプレに入れよーぜ
972 :
デフォルトの名無しさん :2006/07/06(木) 14:37:46
【 課題 】コマンドラインで指定した回数分、2つの乱数の組x,yを発生させ、 その乱数をもとに、円周率πを求めるプログラムPai.javaを作成せよ。 ・乱数生成は、Math.random()を使用すること ・実行は、「java Pai 1000」のようにコマンドラインから引数として 乱数の発生組数を入力するものとする ・プログラムは3つのメソッド(main()とrandomCheck()とlinelnput())からの構成のこと ・randomCheck()の動作は以下の通り (1)random()メソッドにより一組の乱数(x,y)を発生させる (2)(x,y)が円の中に入ってる場合はtrue、そうでない場合はfalseを返す ・linelnput()の動作は以下の通り (1)コマンドラインから1行読み取り (2)読み取った文字を整数に変換したものを返値として返す 【 期限 】7月7日 【 補足 】丸投げです。よろしくお願いします
>>972 よくわからないが,モンテカルロ法で求めろってことなのか?
974 :
デフォルトの名無しさん :2006/07/06(木) 17:41:10
【 課題 】文字列の単語の先頭を大文字、以降を小文字に変換する プログラムを作成せよ。 例:mEはnow、computerをsTuDy中でござる →MeはNow、ComputerをStudy中でござる 【 用語 】とくになし 【 期限 】2006/07/13まで 【 Ver 】とくになし 【 補足 】大文字はtoUpperCase、小文字はtoLowerCaseを使えばできると思うのですが、 単語をどうやって取り出し、先頭を判定するのかが分かりません。 お願いします。
977 :
974 :2006/07/06(木) 19:03:08
>>975 ありがとうございます。参考にしたいと思います。
978 :
974 :2006/07/06(木) 19:05:43
>>976 ありがとうございます。がんばりたいと思います。
あーなるほどなぁ なんか文字の比較って発想が出てこないんだよなぁ
【 課題 】課題1、ボールを左右に大きく往復運動するようにしよう。 テーブル右端にきたら、落下するようにしよう。 課題2、上の往復運動を無限に繰り返す(for(;;)を使用)ようにしよう。 課題3、上の水平移動を、机の上をころがるボールと考え、右端に来たら落下させてみよう。 【 期限 】7月8日 【 Ver 】どれでもいけると思います。 【 補足 】丸投げです。お願いします。
/*<applet code="Ball.class" width=300 height=300></applet>*/ import java.applet.*; import java.awt.*; public class Ball extends Applet implements Runnable{ int x; Thread th; public void start(){ th= new Thread(this); th.start(); } public void run() { for(x=0; x<180; x++) { repaint(); try{ Thread.sleep(100); }catch(InterruptedException e) { } } } public void paint(Graphics g) { g.drawOval(x,90,20,20); g.drawLine(0,110,200,110); } }
988 :
:2006/07/07(金) 14:27:34
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。