学校の宿題は俺にやらせて下さいver.2.0βfor Java
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGおい!厨房どもJavaの宿題はここに持って来い!
ただGUIかんけーはめんどクセーから、放置するぞ!
☆丸投げ歓迎 AGE進行☆
前スレ
学校の宿題は俺にやらせて下さいver.1.1βfor Java
http://pc2.2ch.net/test/read.cgi/tech/1065599192/
【Java編】 学校の宿題は俺にやらせろ 【Java編】
http://pc2.2ch.net/test/read.cgi/tech/1040552821/
http://pc2.2ch.net/tech/kako/1040/10405/1040552821.html
0002デフォルトの名無しさん
NGNG0003鳥取砂丘&rlo;ムレーハ村リ゚フ@&lro; ◆Dream/3P/.
NGNG ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄
。 。
|| || /⌒ ヽ.
/ ⌒ヽ( /⌒ヾ )
((゚Д゚,,))ゝヽのノノ
⊂⊂ _____つ )) ))
0004デフォルトの名無しさん
NGNG=百数十行におさまるくらいが限度だな
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGcase 1 :
System.out.println("小惑星にぶつかりました - THE END - ");
System.exit(-1);
default :
System.out.println("星空が綺麗です");
break;
}
>>5
コア部分
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG月を入力してください:8
***** 2003年8月(閏年ではありません) *****
SUNMONTUEWEDTHRFRISAT
1 2
3 4 5 6 7 8 9
10111213141516
17181920212223
24252627282930
31
このような形のプログラムを作っていただけないでしょうか?
よろしくお願いします!!
キーボードから年と月を入力、その後うるう年かを判別し表示する。
入力された年の月をカレンダーにして表示するプログラムです。
0010デフォルトの名無しさん
NGNGvoid main()
{
//入力された年の月をカレンダーにして表示する関数です。
calender();
}
0011デフォルトの名無しさん
NGNG改行が多すぎって言われて縮めたから見にくくてゴメソ。全角スペースは半角に直してね。
import java.io.*;
import java.util.*;
class Test {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("西暦を入力してください:");
int year = Integer.parseInt(reader.readLine());
System.out.print("月を入力してください:");
int month = Integer.parseInt(reader.readLine());
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, 1);
System.out.println("***** " + year + "年" + month + "月(閏年" + (calendar.isLeapYear(year) ? "です" : "ではありません") + ") *****");
System.out.println("SU MO TU WE TH FR SA");
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
for (int i = 1; i < dayOfWeek; i++) System.out.print(" ");
for (int i = 1; i <= calendar.getActualMaximum(Calendar.DAY_OF_MONTH); i++) {
if (i < 10) System.out.print(" ");
System.out.print(i + " ");
if (dayOfWeek++ % 7 == 0) System.out.println();
}
System.out.println();
}
}
0012デフォルトの名無しさん
NGNGどのようにすれば良いですか?
下のように頑張ったのですが、これだと、テキストフィールド内でEnterを入力しないと動かないのです。。。
text1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.out.println("テキスト変更検出");
}
});
0013デフォルトの名無しさん
NGNGJTextFieldならgetDocument().addDocumentListener。
後者だとMVCできれい。
0014デフォルトの名無しさん
NGNGありがとうございます。
なんとか上手くいきそうです。
実は、これ宿題じゃなくて仕事なんです、スレ違いですいません。
でも、大変感謝しています。
もし、このシステムが稼動したら名簿に「13」と書かせて頂きます。
0015デフォルトの名無しさん
NGNG> もし、このシステムが稼動したら名簿に「13」と書かせて頂きます。
ワラタ
0016デフォルトの名無しさん
NGNG正三角形(又は二等辺三角形)を作るのがわかりませんです、丸投げですけど誰かおしえてくらはい、解説付きで(爆
public class Lesson {
public static void main(String[] args)
{
int x = Integer.parseInt(args[0]);
int i;
int count=0;
//三角形の高さに達するまでループ、iはループカウンタ
for(i = 0; i < x; i++ )
{
//通常処理(高さ-1の空白を挿入)
for(int a=0; a<i-1; a++)
{
//行の最初に挿入
if(a==0)System.out.print("*");
System.out.print(" ");
}
//行の最後に挿入(最初の一行目は終点の書き出しは無し(!=0))
if(i != 0)System.out.println("*");
//底辺の処理(三角形の高さとループカウントが一致したら全部出力)
if(i==x-1)
{
for(int a=0; a<x ;a++)
{
//最後の行の出力
System.out.print("* ");
}
}
}
}
}
0017デフォルトの名無しさん
NGNG形は微妙だが。
解説はここ
ttp://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_7.htm
int h = 3;
int x = (int)( h/Math.cos( Math.PI/3 ) * 2 );
System.out.println( x );
for ( int i = 0; i < h; i++ ) {
for ( int j = x/2; j > 0; j-- ) {
if ( (int)( i/Math.cos( Math.PI/3 )) == j ) {
System.out.print( '*' );
} else {
System.out.print( ' ' );
}
}
for ( int j = x/2; j < x; j++ ) {
if ( (int)( i/Math.cos( Math.PI/3 ) + x/2 ) == j ) {
System.out.print( '*' );
} else {
System.out.print( ' ' );
}
}
System.out.println();
}
for ( int i = 0; i < x; i++ ) {
System.out.print( '*' );
}
System.out.println();
0018デフォルトの名無しさん
NGNG**
***
****
これはできたのか?
*
***
*****
これを作るのか?上下逆の場合もあるけど。
とりあえずヒントをあげると、
__*
_***
*****
_の部分の数を段数から計算で求めればいい。
001918
NGNG0020デフォルトの名無しさん
NGNGすまん、頭の体操ついでにで作っちゃった・・・。
0021デフォルトの名無しさん
NGNG可変にするように作り変えてみます、迅速な対応ありがとう御座います
0022デフォルトの名無しさん
NGNG解説お願いします私としては二つの整数の差を比較する
際どうゆう書き方をしたらいいのか分かりません。
/* 二つの整数の差を比較して10以下か10以上か出力せよ
*/
#include <stdio.h>
int main(void)
{
int n1,n2,sa1,sa2;
puts("二つの整数を入力して下さい。");
printf("整数A>");scanf("%d",&n1);
printf("整数B>");scanf("%d",&n2);
n1-n2=sa1;
n2-n1=sa2;
if(n1-n2<=10 || n2-n1<=10)/*条件判断 10以下*/
{if(sa1<0 || sa2<0) /*二つの差が負の時*/
printf("それらの差は10以下です。\n");
else /*二つの差が正の時*/
printf("それらの差は10以下です\n");
}
if(n1-n2>=0 || n2-n1>=0)/*条件判断 10以上*/
{if(sa1<0 ||sa2<0)
printf("それらの差は10以上です。\n");
else
printf("それらの差は10以上です。\n");
}
return (0);
}
0023デフォルトの名無しさん
NGNGJavaですた
C言語関連にスルーお願いしまつ。
0024デフォルトの名無しさん
NGNG例えば
char buf[] = "23456";
int num;
こんな形だった場合、numに数値の23456を入れるにはどのようにするんでしょうか?
bufに入るのは数字のみです。
宿題なのに質問スレに書いてしまった_| ̄|○lll スマソ
0025デフォルトの名無しさん
NGNGnum = Integer.parseInt( new String(buf) );
0026デフォルトの名無しさん
NGNGBufferedWriterを使うんだとは思うのですがうまくいきません。
どなたか助けてください。
0027デフォルトの名無しさん
NGNGHTML形式への変換はうまくいったけど出力がだめなんかな?
0028デフォルトの名無しさん
NGNGhtml形式で保存するって…
ファイルの頭とケツに適当に tag つけるだけでいいの?
0029デフォルトの名無しさん
NGNGFile src = new File( "c:\\a.txt" );
File dest = new File( "c:\\a.html" );
dest.createNewFile();
BufferedReader bufR = new BufferedReader( new FileReader( src ) );
BufferedWriter bufW = new BufferedWriter( new FileWriter( dest ) );
bufW.write( "<html><body>\n" );
String line;
while ( (line = bufR.readLine() ) != null ) {
bufW.write( line );
bufW.write( "<br />\n" );
}
bufW.write( "</body></html>\n" );
bufR.close();
bufW.close();
0030デフォルトの名無しさん
NGNGあと改行を<br>にするとかかな
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGコンパイルだけは通るのですが、出来たhtmlが空ファイルになってしまいます。
>>28
ソース中にプレーンテキストファイルを指定して、その内容がそのままhtmlとして作成されればOKです。
003526
NGNG0036デフォルトの名無しさん
NGNG枠線とかも入れなきゃいけないんだけど、htmlの知識に乏しいのでおながいします。
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGjavaもhtmlも平行して習っている最中なんで、訳わからんのです。
003929
NGNGBufferedWriterで書き込み先ファイルをオープン。
書き込み先に<html><body><table>を書き込む。
BufferedReaderでファイルからcsvを1行ずつ読み込む。
String#splitでカンマごとの要素をString[]に格納。
書き込み先に<tr>を書き込む
String[]配列のサイズ分だけfor文で繰り返し
書き込み先に<td>、取り出したString[i]、</td>を順番に書き込む
3行目に戻る
終わったらcsvファイルを閉じる
書き込み先に</table></body></html>を書き込む。
書き込み先を閉じる。
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGお願いです。
ソースとして書いてもらえません?
004229
NGNGそれくらい自分でやれ
00459
NGNG>>11 さんありがとうございました。
後で、曜日をSUN MON...と直しました。
そして10以降の日付の位置も空文字で調整したのですが
最初の週の数値がうまくあるべき位置に出力されないのです。
うまくぴったり曜日の下に出力をできるように教えていただきたいです。
誰かお願いします。
00469
NGNGimport java.util.*;
class Urudoshi
{
public static void main(String[] args) throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("西暦を入力してください:");
int year = Integer.parseInt(reader.readLine());
System.out.print("月を入力してください:");
int month = Integer.parseInt(reader.readLine());
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, 1);
System.out.println("***** " + year + "年" + month + "月(閏年" + (calendar.isLeapYear(year) ? "です" : "ではありません") + ") *****");
System.out.println("Sun Mon Tue Wed Thr Fri Sat");
0047デフォルトの名無しさん
NGNG学校の宿題は俺にやらせてください
スレじゃないのか?それとも
やり方を教えさせてください
スレなのか?
00499
NGNGint monthmax = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 1; i < dayOfWeek; i++)
for(int i = 1; i <= monthmax; i++)
{
if (i <= 9)
{
System.out.print(" ");
System.out.print(i + " "); }
} else if(i <= 10)
{
System.out.print(" ");
System.out.print(i + " ");
}
else
{
System.out.print(" ");
System.out.print(i + " ");
}
if (dayOfWeek++ % 7 == 0)
System.out.println();
}
System.out.println();
}
}
00509
NGNGじゃあダメですかね?
dayofweekをifで条件つけて1-7まで分けて位置を調整しようとしたんですが
何か結局うまくいかなったんです。
駄目ならいいですが、っていいつつ乗せてるのも何なんですけど。
0051デフォルトの名無しさん
NGNGオレ、それの回答のレスみて試して見たらずれてたんで
該当するところにスペース2つ入れて直したぞ
for (int i = 1; i < dayOfWeek; i++) System.out.print(" ");//<-ここのスペースを1つから3つに
自分で適当に変えたなら、元に戻して試せ
005251
NGNGここに載るとつぶれるからな
0053デフォルトの名無しさん
NGNG10日未満なら1つ増やしてるのを2つにして、10日以降も1つ増やすところと、
行末に改行だけしてるところに、1つ追加するとこだけ気をつければ
あとは適当にやってれば合うと思うがな
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG追加するメソッドは、引数を受け取らず、データ(名前、年齢、収入)の表示を
行います。そのメソッドを呼び出して表示を行うようにmainメソッドを作成してください。
class Person {
String name;
int age;
float salary;
}
class PersonExample {
public static void main(String args[]) {
Person p = new Person();
p.name = "John Doe";
p.age = 21;
p.salary = 29100f;
System.out.println("p.name = " + p.name);
System.out.println("p.age = " + p.age);
System.out.println("p.salary = " + p.salary);
}
}
どなたかお願いします。
0056デフォルトの名無しさん
NGNGString name;
int age;
float salary;
void printName(){
System.out.println( name);
}
void printAge(){
System.out.println( age);
}
void printSalary(){
System.out.println( salary);
}
}
class PersonExample {
public static void main(String args[]) {
Person p = new Person();
p.name = "John Doe";
p.age = 21;
p.salary = 29100f;
p.printName();
p.printAge();
p.printSalary();
}
}
005755
NGNGあほでした。ありがとうございました。
0059デフォルトの名無しさん
NGNG解決した?ソースいる?
006036
NGNGお願いいたします。
006159
NGNGCSVって""で括ったのを文字列と判断したり、"をエスケープしたり色々仕様があると思うけど、
そういうむつかしいのは無視で、カンマで区切られた値を表示するだけ。
全角スペースを半角かタブに変えてね。
import java.io.*;
import java.util.*;
class Test {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new FileReader("test.csv"));
PrintWriter writer = new PrintWriter(new FileWriter("test.html"));
writer.println("<html><body><table border=\"1\">");
String line = null;
while ((line = reader.readLine()) != null) {
writer.println("<tr>");
for (StringTokenizer tokens = new StringTokenizer(line, ","); tokens.hasMoreTokens();) {
writer.println("<td>" + tokens.nextToken() + "</td>");
}
writer.println("</tr>");
}
writer.println("</table></body></html>");
writer.close();
reader.close();
}
}
006259
NGNGカンマの数を数えるなりして、>>39のString#split(String, int)しないとダメか。
さらに、空行のチェックもしてないし、>>31、>>40も考慮してないや。
まぁ、それを言い出すと""とか"エスケープとか、先頭行をカラム名にするとか、
色々出てくるし、宿題でそこまで要求されることも無いだろうけど、
対応しなきゃいけなさそうな要件があったら知らせて。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG書き間違えなくなるPGを教えて下さい。
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG無理やりJDBCに絡めてみるとか、
ttp://pc2.2ch.net/test/read.cgi/db/1057041973/
で聞いてみるとか。
0070デフォルトの名無しさん
NGNGということで同じデータベースとか言う広義な仲ジャン!
だからおせぇーてくらはい
$Sql = "SELECT * FROM y";
$Sql .= " WHERE ps_id = " . '$id';
$Sql .= " OR flg =" . '1';
$Sql .= " ORDER BY ply_id desc";
$result = pg_Exec($db, $Sql);
$Rows = pg_numrows($result);
コレで$ROWSに長さが返ってきません、SQL文に問題があるんでしょうか
0072デフォルトの名無しさん
NGNG."$id" か .$id じゃないか?よく知らんけど。
0073デフォルトの名無しさん
NGNGだからさっさと答えろ、知ってるんだろ!
もちろんsunの株主さまですよね
0074デフォルトの名無しさん
NGNG007569
NGNG多分>>72だけど、pg_result_error($result)でエラーメッセージ見るくらいしろよ。
0076デフォルトの名無しさん
NGNGJava と全然関係ないことでやってきて
SQL と全然関係ないことで間違ってて
指摘されたことと全然違うところで逆切れしてて
救いようが無い
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGが真実
0079デフォルトの名無しさん
NGNG何だかんだ言って笑ったんだろ、そーなんだろ
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGで、解決したのか?
0082デフォルトの名無しさん
NGNGちなみにidはvarchar(2)NOTNULL
0083デフォルトの名無しさん
NGNGいいから PHP のスレに行けよ
0084デフォルトの名無しさん
NGNGこのスレ的には「解決」とは >>70 がPHPスレに行くことを言う。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG$Sql .= " WHERE ps_id = '$id'";
とすると解決すると見た。
次はJavaの宿題持って来いよ。
0087デフォルトの名無しさん
NGNG言語はなんでもいい
とにかくつくれ
0088デフォルトの名無しさん
NGNG直ったじゃねぇか。sunもちょっとはやるじゃねぇか
インサイダーで株価ageといてやるよ
0089デフォルトの名無しさん
NGNGエェー やだよ
0090デフォルトの名無しさん
NGNG完成しました、おまいの脳内で
009136
NGNGありがとうございます。
ちょっと今はコーディングできないので、後ほどまたレスさせてもらいます。
0092デフォルトの名無しさん
NGNGろくでもない事を言い出した先生が出現しちまいました。
著作権って言葉を知らないんだろか?
0093デフォルトの名無しさん
NGNG009487
NGNGこのスレ、アルゴリズムはおろか
コーディングすらできない連中の集まりか。
0095デフォルトの名無しさん
NGNGその通りです。
87さんが作ってくれるのを楽しみにして待つしか能がありません。
頑張って今までに誰も見たことの無い様なスクリーンセーバー作ってくださいね。
0096デフォルトの名無しさん
NGNGまだか、ゴルァ!!
009787
NGNGなんで俺がつくらなきゃならんのだ?
根本的に意味不明
0098デフォルトの名無しさん
NGNG宿題やりたいんだろ?
思う存分やってくれ。
0099デフォルトの名無しさん
NGNGな
根
縦読みか・・・
0100デフォルトの名無しさん
NGNG翻訳してくれ
0101デフォルトの名無しさん
NGNGおなにーの方言だろ
010287
NGNGコーディングまでは要求しないから
アルゴリズムだけ考えれ
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNGー
ゴ
斜め読みか(^o^=)
0105デフォルトの名無しさん
NGNG乙
0106デフォルトの名無しさん
NGNG翻訳求む
010787
NGNGランダムで傾きが設定された直線の方程式をつくり
xの値が増えるにしたがって拡大する仕組みなわけだが
0108デフォルトの名無しさん
NGNG010987
NGNG弱い犬ほどよく吠える って言われないようにな
0110デフォルトの名無しさん
NGNG011187
NGNG学歴は良いほうだ。
広大附属小学校→広大附属中→広大附属高→慶應義塾大学経済学部→一橋大学大学院
0112デフォルトの名無しさん
NGNGいつまでも過去の栄光にしがみついてないで、目の前の問題に取り組んだらどうだ?
011387
NGNG俺のプロセスが間違ってるなら指導してくれよ
0114デフォルトの名無しさん
NGNG画面の中心を元に、って元にどうするんだよ?画面の中心が(0,0)ってことか?
あとxは何だ?定義してから使えよ。いきなりxって言われてもわかんねーだろうが。
y=ax+bのxか?だとしたら拡大するのは何だ?
011587
NGNG>>107は適当に言っただけだが
Windowsの宇宙空間のスクリーンセーバ見てみれば
言いたいこと分かるだろ
画面の中心を元にってのは
画面の中心(クライアントのwidth/2 クライアントのheight/2)ってこと
その中心を中心にって言い方がまどろっこしいから「元」って書いた
0116デフォルトの名無しさん
NGNGいや、だからその中心がどうしたんだよ?
中心が(0,0)なのか?
011787
NGNGこのスレは人の宿題をわざわざやりたがるキチガイがあつまってんだろ
つべこべいわずにはやくやれや
やらせてやるんだからありがたくおもえや
0118デフォルトの名無しさん
NGNG011987
NGNGお前もわからん奴だな。
数学的に言えば
中心点を通る傾きα(とりあえず任意)の直線をランダムに引き
その軌跡を点が通っていく仕組みだよ
012087
NGNGうちのパパに聞くからいいよ
使えねえサルばっか。
じゃあな
0121デフォルトの名無しさん
NGNGわかってないのはお前だろ。
はじめからそういえばわかるのにわけわからん言い方するから。
画面の中心を(0,0)として、y=axの直線を考え、その直線状を外側に移動する
多数のランダムな点を表示するプログラムを作れってことだろ?
0122デフォルトの名無しさん
NGNGWindows マークは垂直に移動できないわけだが。
0123デフォルトの名無しさん
NGNGできたぜ。DLしろ。
file://c:/windows/system32/ssstars.scr
0124デフォルトの名無しさん
NGNGWindows マークが飛んでくるのは何だっけ?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG煽られるだけだった>>87にはよっぽど人として大事な何かが欠けてたのかな?
0127デフォルトの名無しさん
NGNGそして、それらのデータの値を表示して下さい。
(カプセル化する際は修飾子を用いてデータを隠蔽すること)
お願いします。
0128デフォルトの名無しさん
NGNGprivate final double center_x, center_y, radial;
public Circle(double x, double y, double r){ center_x = x; center_y = y; radial = r; }
public void show(){
System.out.println( "x = " + center_x + ", y = " + center_y + ", r = " + radial );
}
public void main(String[] args){
new Circle(0,0,10).show();
}
}
0129デフォルトの名無しさん
NGNG>private final double center_x, center_y, radial;
なぜにfinal?
0130デフォルトの名無しさん
NGNG定数としてカプセル化しろ、という話だったので。
面倒くさかったのでゲッターメソッドつけなかったけど、
必要だったらつけといて。
0131129
NGNG設計上finalにする利点とかを聞かせてもらえればと思いますた。
0132127
NGNG0133デフォルトの名無しさん
NGNG設計上?
最近はコード書きながら設計するのか?
利点はコンストラクタ(もしくは言語規定に明記された特定の場所)で
たったの一度しか代入できないため
うっかり間違って代入するとコンパイルエラーで知らせてもらえる。
代入できないので public にしておいても安全。
(型がプリミティブ型とか String みたいな不変オブジェクトの場合だけだけど)
013487
NGNG結局教科書に載ってるようなレベルのことしか分からない
つまり創造性がない
だからアルゴリズムすら示せない
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGこういっちゃ何だが、アルゴリズムはそれほど難しくはない。
スクリーンセーバ、宇宙飛行、Javaとかでググっても、
素人さんによるアプレットもいくつかある。
みんなアルゴリズムが分からなくて示せないわけではなくて、
誰もお前なんかに教えたくないから示さないんだと思う。
013887
NGNG>誰もお前なんかに教えたくないから示さないんだと思う。
ハイハイ
つまらなすぎて笑えません。
013987
NGNG高学歴の奴隷として口ごたえせずに労働してほしいね
0140デフォルトの名無しさん
NGNGつまらないかも知れないけど、それが本当の理由だろうってことは、
いくら君でもうすうす感じてるでしょ?
>>139
学校で何習ってきたの?
014187
NGNG身分社会の構造
0142デフォルトの名無しさん
NGNGその身分社会の構造をもって、
上位にいる君の望むように下位にいるこのスレの人を動かすことができた?
014387
NGNGこれこそが俺の意図した結末であり、
別にアルゴリズムやコードを本当に求めていたわけではない。
とネタバレするとあまりにもかわいそうなので
あまり言うべきではなかったな。
0144デフォルトの名無しさん
NGNG>>127-133 ではすっかり忘れ去られていたようだが。
014587
NGNG0146デフォルトの名無しさん
NGNGそれはつまり、学歴も高くて頭も良いにも関わらず、
話題の中心になるにしても、もっと生産的な話題、
例えば新しいアルゴリズムの解法を提供することで、
このスレの住人を指導する意味での話題の中心になれたにも関わらず、
他人をとても高尚とは言えない内容で煽って、
スレの住人の迷惑の中心人物となって注目を引くという、
幼稚な自己顕示欲に駆られて起こしたとしか思えない行動の結末が、
君の本当に意図した結末だったってこと?
本当に学歴も高くて頭も良いの?
014787
NGNGお前、tanasinnスレの住民みたいだね。
意味のないことをトートーと語る。
そういうのは論理的に話してるようで
単なる言葉アソビにすぎない。
そして最後に煽る、と。
幼稚だと思ったんならそれでいいんじゃないの?
tanasinnは強制されるものではないし
人のtanasinnを否定するものでもない。
0148137=140=142=146
NGNGなんで?別に非論理的でも無意味でもないよ?あの程度の文章も読めない?
分かりやすく言うと、こんな感じ。これなら分かるだろ?
頭いいんなら他に話すこともあったろうに、
なんであんなバカっぽい話しかできなかったんだ?
みんなに嫌われただけだとおもうけど、
ほんとにそれでよかったのか?
ちなみに、漏れ無教養だからtanasinnを強制するって意味分からん。
っていうか、もはや漏れの方も荒らしになって来てるな・・・。
みなさん、すんませんでした。
014987
NGNG>ちなみに、漏れ無教養だからtanasinnを強制するって意味分からん。
教養の問題ではないよ
もうお前ネタなのかマジでつっかかってきてるのかワカランな
tanasinnにツッコまれるとは思わなかったからちょっと笑ってしまった
ちなみにtanasinnってコレね。
http://that.2ch.net/test/read.cgi/gline/1075672548/
0150デフォルトの名無しさん
NGNG> 俺が87から142まで常に話題の中心だった。
え〜と。バカに人は群がるからな。
0151148
NGNG>もうお前ネタなのかマジでつっかかってきてるのかワカランな
ネタに決まっとろうが。誰がお前なんかマジで相手にするか。
って書こうかと思ったけど、いくらなんでもあれなんでやめときます。
tanasinnって、哲学か何かの用語だと思ってた。リンク先見て激しくワロタ。
0152デフォルトの名無しさん
NGNGCHANGE2…対応するボタンの切り替え(済)
A…Bの画像をAの画像に替える(済)
※下記の制御をするプログラムが分かりません
B…Aの画像をBの画像に替える
AとBの画像が重ならないようにするプログラムを追加する
0153デフォルトの名無しさん
NGNGimport java awt.*;
import java awt.evevt.*;
public class ima extends Applet implements AtionListener{
Image pic1,pic2;
int x1=0,y1=0,x2=550,y2=0,lx=544,ly=237,flg1=1,flg2=1,flg3=1,flg4=1;
Button up = new Button("W");
Button down = new Button("X");
Button left = new Button("A");
Button right = new Button("D");
Button up2 = new Button("8");
Button down2 = new Button("2");
Button left2 = new Button("4");
Button right2 = new Button("6");
Button change = new Button("CHANGE");
Button change2 = new Button("CHANGE2");
Button a = new Button("A");
Button b = new Button("B");
public void paint(Graphics g){
if(x1 > lx)x1=lx;
if(x1 < 0)x1=0;
if(y1 < 0)y1=0;
if(y1 > ly)y1=lx;
0154デフォルトの名無しさん
NGNGif(x2 < 0)x2=0;
if(y2 < 0)y2=0;
if(y2 > ly)y2=lx;
if(x1-x2 > 56);
if(x2-x1 > 56);
if(flg1 == 1){
if(flg3 == 1){
g.drawImage(pic1,x1,y1,this);
g.drawImage(pic2,x2,y2,this);
}
if(flg3 == -1){
g.drawImage(pic2,x1,y1,this);
g.drawImage(pic2,x2,y2,this);
}
}
if(flg1 == -1){
if(flg3 == 1){
g.drawImage(pic1,x1,y1,this);
g.drawImage(pic2,x2,y2,this);
}
if(flg3 == -1){
g.drawImage(pic2,x1,y1,this);
g.drawImage(pic2,x2,y2,this);
}
}
}
0155デフォルトの名無しさん
NGNGpic1 = getImage(getDocumentBase(),"a1.gif");
pic2 = getImage(getDocumentBase(),"a2.gif");
setLayout(null);
up.setBounds(50,200,30,30);
down.setBounds(50,260,30,30);
left.setBounds(20,230,30,30);
right.setBounds(80,230,30,30);
up2.setBounds(520,200,30,30);
down2.setBounds(520,260,30,30);
left2.setBounds(490,230,30,30);
right2.setBounds(550,230,30,30);
change.setBounds(240,230,60,30);
change2.setBounds(240,260,60,30);
a.setBounds(300,230,60,30);
b.setBounds(300,260,60,30);
add(up);
add(down);
add(left);
add(right);
add(up2);
add(down2);
add(left2);
add(right2);
0156デフォルトの名無しさん
NGNGadd(change2);
add(a);
add(b);
up.addActionListener(this);
down.addActionListener(this);
left.addActionListener(this);
right.addActionListener(this);
up.addActionListener(this);
down.addActionListener(this);
left.addActionListener(this);
right.addActionListener(this);
change.addActionListener(this);
change2.addActionListener(this);
a.addActionListener(this);
b.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
String s;
s = e.getActionCommand();
if(flg2 == 1){
if(s == "W")y1-=5
if(s == "X")y1+=5
if(s == "A")x1-=5
if(s == "D")x1+=5
0157デフォルトの名無しさん
NGNGif(s == "2")y2+=5
if(s == "4")x2-=5
if(s == "6")x2+=5
}
if(flg2 == -1){
if(s == "W")y2-=5
if(s == "X")y2+=5
if(s == "A")x2-=5
if(s == "D")x2+=5
if(s == "8")y1-=5
if(s == "2")y1+=5
if(s == "4")x1-=5
if(s == "6")x1+=5
}
if(s == "CHANGE") flg1 *= -1;
if(s == "CHANGE2")flg2 *= -1;
if(s == "A")flg3 *= -1;
if(s == "B")flg4 *= -1;
repaint();
}
}
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNGAボタンで画像が切り替わると同時に左に移動するっていう、バグっぽい動きは正しいの?
A/Bボタンは、単純に画像切り替えってことでOK?
あと、フラグでなんとかしようとしてるみたいだけど、こうしないといけないの?
画像A/B用のクラスを追加するとかして、書き換えてしまってもいい?
0160デフォルトの名無しさん
NGNG返答に遅れてすみません。
確認したら>>154の21、22行目が間違っていました。
g.drawImage(pic1,x1,y1,this);
g.drawImage(pic2,x2,y2,this);
ではなく
g.drawImage(pic2,x1,y1,this);
g.drawImage(pic1,x2,y2,this);
が正しいです。
フラグを用いているのは他の方法が思いつかなかっただけなので
書き換えてしまって大丈夫です。
0161デフォルトの名無しさん
NGNGttp://up.isp.2ch.net/up/eb82f0bcf7d0.zip
良く分からんとこは適当に埋めたけど、まずい動きだったら知らせて。
0162javaですが・・・
NGNG1 hotjava 2 x+y 3 3D 4 length/time 5 @average 6 MS_C 7 sum# 8 C++ 9 Ver.3 short
11 _ _java_ _ 12 breaks
2 次の定数を10進数に変換して数値で答えなさい。なお整数定数として正しくないものはエラーと答えなさい。
1 0/ 11 (0の中に斜め線が入った0を0/としています。)
2 0/ a1
3 0/ 3D
4 0/ 8
5 0/ XFF
6 1 0/ L
7 1 0/ F
8 ff
0163デフォルトの名無しさん
NGNGQ2 :
> (0の中に斜め線が入った0を0/としています。)
これは君の注釈? それはただの 0 。
オーとの区別でそういうフォントになってるだけ。
D の縦棒に \ が入ったり、6 や 9 に下線が入るのと似たようなもの。
正しくないのは 2, 3, 7, 8。
5 の 10進変換くらいはできるでしょ。
0164デフォルトの名無しさん
NGNG1 hotjava 6 MS_C 11 __java__ 12 breaks
じゃない?
0165javaですが・・・
NGNG問1ですが
hotjava
x+y
3D
lenght/time
@averange
MS_C
sum#
C++
Ver.3
short
_ _java_ _
breaks
の12個です。この内4つが正解でして私は、hotjava MS_C _ _java_ _ breaksを選択したんですが
間違ってますかね?
問2の10Lというのは最後にLがつくと64ビット整数での8バイトの10になる・・・64ビット整数ってところが
わからなくてどう変換したらいいのかわかりません。
0xで始まる整数は16進数、このxは大文字小文字関係ないのですか?
0166javaですが・・・
NGNGありがとうございます。
0167デフォルトの名無しさん
NGNGいや _ _ とスペースが入ってるからどうなのかと思って
>>165
>64ビット整数ってところがわからなくて
16進数で表せば 0x000000000000000a のこと。0xa と同じ。
上のほうの bit まで情報があれば数がでかい= int や short などに変換できない、というだけで、
整数は整数。
>0xで始まる整数は16進数、このxは大文字小文字関係ないのですか?
今まで大文字にしたことないけど普通にコンパイルは通るみたいだね。
10L が10l でも通るしね。
0169javaですが・・・
NGNGpublic class Kadai1b {
public static void main(String a{ }){
char c1 ='\101' , c2='\u0061';
System.out.println(''c1=''+c1+''c2=''+c2);
}
}
a c1=\101 c2=\u61
b c1=H c2=h
c c1=。 c2=\u61
d c1=h c2=H
e c1=A c2=a
上の実行結果として適当なものをaからeの中から選んでください
度々ですみません。お願いします。
0170javaですが・・・
NGNGありがとうございます
レス下さった方も感謝です
0171デフォルトの名無しさん
NGNG実際に動かせば分かると思うんだが。
0172デフォルトの名無しさん
NGNG返答がまた遅れてしまって申し訳ありません。
【a】ボタンと【B】ボタンの動作が違っていました。
自分のレスを見て動作についての説明が不足していたのと課題の資料を読み間違えていたのが原因です。
正しい動作は
【a】(【B】)ボタンを押すと両方の画像が【a1】(【a2】)になり、もう一度押すと押す前の状態に戻ります。
その他の動作は大丈夫でした。
0173デフォルトの名無しさん
NGNG以下の仕様に従って、口座クラスとその口座クラスを利用するクラスを作成しなさい。
利用者クラスでは口座を作り、お金を預けて、その口座番号と預金額を表示するようにします。
(1)口座クラスを下記の仕様に従い作成しなさい。
クラス名:Kouza
情報(フィールド) :口座番号(kouzaNum)、預金額(yokingaku)
初期化(コンストラクタ) :口座を開設(口座番号と最初の預金額を与える)
操作(メソッド) :お金を預ける(charge)
(2)利用者クラスを下記の仕様に従い作成しなさい。
クラス名:Yokinsha
情報(フィールド) :預金額(yokingaku)、預金者名(name)
初期化(コンストラクタ) :預金者の名前を与える
操作(メソッド) :メインメソッド
1) Kouzaクラスを使って口座を作成します
2) 10,000円を預けます
3) 画面には、kouzaNumとyokingakuを表示して下さい
0174デフォルトの名無しさん
NGNG途中まで組んだけど問題が非常識だから止めた
何で預金者と口座にリレーションが無いのだ
0176デフォルトの名無しさん
NGNGキーボードからの入力、ファイルへのデータ読み書き、ディスプレイへの表示、
ネットワークへのデータ送受信などの処理を入出力処理という。
入出力処理において、外部とのデータのやり取りをする箇所を、
「キーボード用」、「ネットワーク用」の様に、装置ごとにプログラムを用意するのでは、
大変ですし、新しい装置が出てくるたびに新しいアクセス方法を覚えなければなりません。
そこでjavaでは、外部とのデータのやり取りを「 」という抽象的な概念として表しています。
「 」を使う事によって装置を意識しない共通のアクセス手順で、データの読み書きを行えます。
//宿題です お願いします
0177デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGおまい、ほんと宿題好きだな。
0182デフォルトの名無しさん
NGNG遅くなりましたが有難う御座います。
無事に課題を提出する事が出来ました。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG.iniファイル内に書かれているフォルダに
JTableの内容をCSV形式でファイルに出力するプログラムを作成する。
//以下サンプルソース
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
//********************************************************************************
//
// Class : TableOutSmp
// : JTableの内容をCSV形式でファイルに出力
//
//********************************************************************************
public class TableOutSmp extends JFrame implements ActionListener
{
Container container;
JTable table;
JScrollPane scrollPane;
TableModel model;
0185デフォルトの名無しさん
NGNG// コンテンツペインを取得する( ウィンドウのクライアント領域 )
super("TableOutSmp");
container = this.getContentPane();
//列名を定義
String[] columnTitles = {
"日付","開始時間", "終了時間", "時間外(普通)", "時間外(深夜)", "実労時間","控除"};
//データを定義
Object[][] dataEntries =
{
{"08/01","09:00", "18:00", "00:00", "00:01", "00:10"," "},
{"08/02","10:00", "19:00", "01:00", "00:02", "00:20"," "},
{"08/03","11:00", "20:00", "02:00", "00:03", "00:30"," "},
{"08/04","12:00", "21:00", "03:00", "00:04", "00:40"," "},
};
//テーブルモデルを作成
model = new TableOutSmpModel(columnTitles, dataEntries);
0186デフォルトの名無しさん
NGNGtable = new JTable(model);
table.createDefaultColumnsFromModel();
//コンボボックス作成
String[] strKoujo = {"遅刻","早退","外出","休憩"};
JComboBox cmbKoujo = new JComboBox( strKoujo );
table.getColumnModel().getColumn(6).setCellEditor( new DefaultCellEditor( cmbKoujo ) );
//スクロールを作成
JScrollPane scrPane = new JScrollPane();
//スクロールペインを通して、テーブルのサイズを設定
scrPane.getViewport().setView(table);
scrPane.setPreferredSize(new Dimension(750, 200));
//パネル作成
JPanel p1 = new JPanel();
0187デフォルトの名無しさん
NGNGJButton jbEnd = new JButton("終了");
jbEnd.addActionListener(this);//アクションリスナーを設定
//保存ボタン作成
JButton jbSava = new JButton("保存");
jbSava.addActionListener(this);
// パネルをコンテンツに設定
p1.add(scrPane);
p1.add(jbSava);
p1.add(jbEnd);
container.add(p1);
// ウィンドウをクローズするためのリスナを登録する
addWindowListener(new WindowEventHandler());
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setBackground(Color.white);
setSize(770, 300); // Frame width=450, height=150
show(); // フレームを表示
}
0188デフォルトの名無しさん
NGNGclass WindowEventHandler extends WindowAdapter {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
}
//アクション時の動作を定義
public void actionPerformed(ActionEvent e){
String action = e.getActionCommand();
//CSVファイル作成処理
if(action.equals("保存")){
int i, j;
Object objVal;
String strVal;
String strRec;
0189デフォルトの名無しさん
NGNGFile outFile = new File("smpKintai.txt");
FileWriter out = new FileWriter(outFile);
for( i=0 ; i< model.getRowCount() ; i++ ){
strRec = "";
for( j=0 ; j<model.getColumnCount() ; j++ ){
objVal = model.getValueAt(i,j);
strRec = strRec.concat(objVal.toString());
if( j < model.getColumnCount()-1 ) strRec = strRec.concat(",");
else strRec = strRec.concat("\n");
}
out.write(strRec);
}
out.close();
}catch(IOException ioe){}
//終了処理
}else if(action.equals("終了")){
System.exit(0);
}
}
0190デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
TableOutSmp frame = new TableOutSmp();
}
}
//********************************************************************************
//
// 編集可能なテーブルモデルのクラス
//
//********************************************************************************
class TableOutSmpModel extends AbstractTableModel {
String[] columnTitles;
Object[][] dataEntries;
int rowCount;
// コンストラクタ
public TableOutSmpModel(String[] columnTitles, Object[][] dataEntries) {
this.columnTitles = columnTitles;
this.dataEntries = dataEntries;
}
// テーブルの行数を取り出す
public int getRowCount() {
return dataEntries.length;
}
0191デフォルトの名無しさん
NGNGpublic int getColumnCount() {
return columnTitles.length;
}
// 指定した行/列位置の値を取り出す
public Object getValueAt(int row, int column) {
return dataEntries[row][column];
}
// 列名を取り出す
public String getColumnName(int column) {
return columnTitles[column];
}
// テーブルの各欄のオブジェクトのクラスの種類を取り出す
public Class getColumnClass(int column) {
return getValueAt(0, column).getClass();
}
// テーブルのセルをすべて編集可能にする
public boolean isCellEditable(int row, int column) {
return true;
}
// 指定の行/列位置の値を設定する
public void setValueAt(Object value, int row, int column) {
dataEntries[row][column] = value;
}
}
0192デフォルトの名無しさん
NGNG長くて申し訳ありませんが、よろしくお願いいたします。
0193デフォルトの名無しさん
NGNGおい!厨房どもJavaの宿題はここに持って来い!
ただGUIかんけーはめんどクセーから、放置するぞ!
ただGUIかんけーはめんどクセーから、放置するぞ!
ただGUIかんけーはめんどクセーから、放置するぞ!
ただGUIかんけーはめんどクセーから、放置するぞ!
ただGUIかんけーはめんどクセーから、放置するぞ!
ただGUIかんけーはめんどクセーから、放置するぞ!
ただGUIかんけーはめんどクセーから、放置するぞ!
0194デフォルトの名無しさん
NGNG>>189 のファイル名を、.ini から取り出せばいいだけじゃないの?
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("パスとファイル名")));
String filename = in.readLine();
in.close();
File outFile = new File(filename);
0195デフォルトの名無しさん
NGNG作成して欲しいです。
ボール(円)のサイズ、色、動き回るスピード、動き出す方向はランダムな値です。
ウインドウの上下左右の境界線に達した場合は、ボールが跳ね返るようにします。
JAVAのコードのみでいいので宜しくお願いします。
お手数をかけますが何卒。
0196デフォルトの名無しさん
NGNGpublic void init() {
new Thread(new Runner()).start();
}
private Random rnd = new Random();
private Vector balls = new Vector();
private Rectangle bounds = new Rectangle(20, 20, 100, 100);
private MyCanvas canvas;
public Q195() {
canvas = new MyCanvas();
setLayout(new BorderLayout());
add(canvas, BorderLayout.CENTER);
}
public Canvas getCanvas() {
return canvas;
}
private void addBall(Point p) {
int size = (int)(rnd.nextDouble()*10.0 + 5.0);
Ball ball = new Ball(p.x, p.y, size, Color.red);
ball.setDirection(rnd.nextDouble()*Math.PI*2.0);
balls.add(ball);
}
0197デフォルトの名無しさん
NGNGprivate double dx, dy;
private int x, y, size;
private Color color;
public Ball(int x, int y, int size, Color color) {
this.x = x; this.y = y; this.size = size;
this.color = color;
dx = 0.0; dy = 0.0;
}
public void setDirection(double theta) {
dx = Math.cos(theta) * 5.0;
dy = Math.sin(theta) * 5.0;
}
public void move(Rectangle bounds) {
x += dx;
y += dy;
if (x < bounds.x) { x = bounds.x * 2 - x; dx = -dx; }
if (y < bounds.y) { y = bounds.y * 2 -y; dy = -dy; }
if (bounds.x + bounds.width < x) { x = (bounds.x + bounds.width)*2 - x; dx = -dx; }
if (bounds.y + bounds.height < y) { y = (bounds.y + bounds.height)*2 - y; dy = -dy; }
}
public int getSize() { return size; }
public Color getColor() { return color; }
public int getX() { return x; }
public int getY() { return y; }
public void setX(int i) { x = i; }
public void setY(int i) { y = i; }
}
0198デフォルトの名無しさん
NGNGpublic void run() {
while (true) {
try {
for (Enumeration e=balls.elements(); e.hasMoreElements(); ) {
Ball ball = (Ball)e.nextElement();
ball.move(bounds);
}
canvas.repaint();
Thread.sleep(100);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}
public class MyMouseListener extends MouseAdapter {
public void mousePressed(MouseEvent ev) {
addBall(ev.getPoint());
}
}
0199デフォルトの名無しさん
NGNGImage img = null;
public MyCanvas() {
addMouseListener(new MyMouseListener());
}
public void paint(Graphics org) {
if (img == null) {
img = createImage(200, 200);
}
Graphics g = img.getGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, 200, 200);
for (Enumeration e=balls.elements(); e.hasMoreElements(); ) {
Ball ball = (Ball)e.nextElement();
g.setColor(ball.getColor());
int size = ball.getSize();
g.fillArc(ball.getX() - size, ball.getY() - size, size*2, size*2, 0, 360);
}
org.drawImage(img, 0, 0, this);
}
public void update(Graphics g) {
paint(g);
}
}
0200デフォルトの名無しさん
NGNGQ195 q = new Q195();
Frame f = new Frame();
f.add(q.getCanvas());
f.setVisible(true);
new Thread(q.new Runner()).start();
}
上記 main で動作確認しただけで、applet (かつ1.1.8環境)は試してない。
変だったら、色のランダムとともに、課題として自分で頑張って考えてみておくれ。
色のヒント:
r, g, b を Random#nextInt() から解決するか、
Color[] COLORS = { Color.black, Color.blue , ... として、
添え字をやはり Random から解決するか。
0201デフォルトの名無しさん
NGNGTextFieldやJTextAreaから文字列を取得するメソッド?(getActionCommand,getItemみたいな)を教えてください。
0202デフォルトの名無しさん
NGNGTextArea.getText()
そのクラスにないメソッドは親クラスを調べるといいよ。
あとEclipseとかで"hoge."まで押すと勝手に出てくるよ。
0203195
NGNGエラーが30以上出てしまいます…。
こっちが何かおかしいんでしょうか?
0204デフォルトの名無しさん
NGNGimport java.applet.Applet;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.*;
自明だからと省いたんだけど。
とにかく一番最初の1つをここに貼りなさい。
0205201
NGNGご教授どうもありがとうございます。
しかしTextAreaはできたんですがJTextAreaがどうしてもできません。
Stringで返したいんですが・・・
JTextArea text = new JTextArea(3,20);
text.getDocument().addDocumentListener(this);
public void changedUpdate(DocumentEvent e) {
}
public void insertUpdate(DocumentEvent e) {
System.out.println(text.getDocument());
}
public void removeUpdate(DocumentEvent e) {
}
こうすると訳のわからない文章が返ってきます。
0206デフォルトの名無しさん
NGNGgetText() でいいんだよ。
JTextArea は、言って見れば「高尚な」使い方ができるだけであって、
そのときは getDocument() を使うんだけど、
低次元なことでいいなら getText() も用意されてるよ、という感じ。
0208デフォルトの名無しさん
NGNGパラメータ:year(Date型)
戻り値:boolean(true、false)
入力した年が閏年かどうか判定するプログラムです。
お願いします。
0209デフォルトの名無しさん
NGNG4、100、400、2000 で割る。だったような。
0210デフォルトの名無しさん
NGNGboolean isLeapYear(Date date){
return new java.util.GregorianCalendar().isLeapYear(1900+date.getYear());
}
0211デフォルトの名無しさん
NGNG4で割り切れる年は閏年、
ただし100で割り切れる年は閏年でない、
ただし400で割り切れる年はやっぱり閏年。
2000は関係ないと思った。
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGpublic void contexInterface(){
}
}
interface Strategy{
public void AlgorithmInterface();
}
class ConcreteStrategy
implements Strategy{
public void AlgorithmInterface(){
}
}
次のJAVAコードからクラス図を作成しなさい。
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG│<<interface>> .│ │ConcreteStrategy │
│ Strategy .│ ├─────────┤
├─────────┤ ├─────────┤
│+AlgorithmInterface().│ └─────────┘
└─────────┘
△
:
┌─────────┐
│ConcreteStrategy │
├─────────┤
├─────────┤
│+AlgorithmInterface().│
└─────────┘
0217デフォルトの名無しさん
NGNG┌─────────┐
│Context │
├─────────┤
├─────────┤
│+ContextInterface() │
└─────────┘
で、このContextは何か関連があるのか?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGStrategyパターン。
0220デフォルトの名無しさん
NGNGhttp://tool-ya.ddo.jp/2ch/trash-box/file/20040427181338194.jpg
のクラス図からJAVAのコードを作成するみたいなんですが、教えてください。
0221デフォルトの名無しさん
NGNGclass Adaptee{
public void start(){
//ここにスタートの処理
}
public void stop(){
//ここにストップの処理
}
}
interface Target{
public abstract void begin();
public abstract void end();
}
class Adapter extends Adaptee implements Target{
public void begin(){
start();
}
public void end(){
stop();
}
}
public class Main{
public static void main(String[] args){
Target t = new Adapter();
t.begin();
t.end();
}
}
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGのソースじゃ関係は結べないわな。
そのソースからクラス図作れば >>215としかかきようがない。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGpublic Interace Target{
void begin();
void end();
}
public class Adaptee{
private String string;
public Adaptee(String string){
this.string=string;
}
public void start(){
System.out.printin(string+"is start up.");
}
public void stop(){
System.out.printin(string+"is ended.");
}
}
public class Adapter Implements Target{
private Adaptee adaptee;
public Adapter(String string){
adaptee=new Adaptee(string);
}
public void begin(){
adaptee.start():
}
public void end(){
adaptee.stop();
}
}
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG↓両方同じ図です。
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20040427232533240.jpg
http://up.atnifty.com/upmini/file/20040427232650_.jpg
0230デフォルトの名無しさん
NGNG0231お願いします
NGNG/**
* 文字列の配列を逆順に表示するクラス
*/
public class StrReverse {
/**
* 指定した文字列配列を逆順に表示する.
* @param strs 対象となる文字列配列
*/
public void reverse(String[] strs){
StrStack stack = new StrStack(strs.length);
for(int i=0; i < strs.length; i++){
//ここでプッシュする
}
while( stack.isEmpty()==false ){
//ここでポップして,そのデータをSystem.out.printlnで表示
}
}
}
/**
* クラスStrReverseを試すクラス
*/
public class StrReverseTest {
public static void main(String[] args){
String[] fruits = {
"イチゴ","サクランボ","ブルーベリー","ミカン","リンゴ"
};
StrReverse strRev = new StrReverse();
strRev.reverse(fruits);
}}
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG@@
@@@
@@@@
@@@@@
↑みたいにC言語で作るにはどうしたらよい?
ついでにこっちもおながいします
@
@@
@@@
@@
@
0234デフォルトの名無しさん
NGNG0235231
NGNG教えていただきたいのであげさせてもらいます!
プッシュするところ。stack.push( ) ←このカッコの中を"a"とかにするとaが出力されるみたいなので
ここに"イチゴ""さくらんぼ"〜〜をいれればよいのでしょうか?その場合の変数はどうなってるのでしょうか。
あとポップのところ
System.out.println(stack.pop());
これかなと思ったのですが反応しないです。ご教授下さい。
0236デフォルトの名無しさん
NGNGおまい同じ大学かよ。。。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGStrStack stack = new StrStack(strs.length);
for(int i=0; i < strs.length; i++){
//ここでプッシュする
stack.push(strs[i]);
}
while( stack.isEmpty()==false ){
//ここでポップして,そのデータをSystem.out.printlnで表示
System.out.println(stack.pop());
}
}
0239デフォルトの名無しさん
NGNGグロ画像っぽいんだけど
0240デフォルトの名無しさん
NGNGどうもありがとうございます
>>236
点数無しはきついよね(つД`)
0241デフォルトの名無しさん
NGNG○
Target
begin() : void
end() : void
\
\
┌──────────┐ ┌──────────┐
| Adapter | | Adaptee |
├──────────┤ ├──────────┤
|-adaptee : Adaptee | |-string : String |
├──────────┤───├──────────┤
|+Adapter(string : String)| |+Adaptee(string : String)|
|+begin() : void | |+start() : void |
|+end() : void | |+stop() : void |
└──────────┘ └──────────┘
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGわからないので教えてください。
問題→キーボードから入力された実数の2乗と平方根とを計算して表示する
プログラムを書きなさい。
「13.7の2乗は187.69です」、「13.7の平方根は3.70135です」
の2つとなる。平方根を何桁まで表示するかは気にしなくてよい。
答えの欄に、実数の2乗と平方根を計算し表示する。
と書かれてあるんですが、一生懸命考えたんですけれども、
さっぱりわからなかったので、どうかわかりやすく
答えを指導していただけるとありがたいと思いますので、
どうかよろしくお願いします。
今日の午前11時30分までに教えてくれる方お願いします。
0244デフォルトの名無しさん
NGNGtry {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //標準入力から String で読む用意
String line = br.readLine(); //読む
double a = Double.parseDouble(line); //数字を数値として解析
double b = Math.pow(a, 2.0); //二乗を得る
double c = Math.sqrt(a); //平方根を得る
System.out.println(a + "の2乗は" + b + "です"); //表示して改行
System.out.println(a + "の平方根は" + c + "です"); //表示して改行
} catch (IOException ex) {
//入力時の例外をキャッチ。でも多分なにもおきないだろう
}
}
数以外を入力すると Exception が発生する。必要なら catch すべし。
0245デフォルトの名無しさん
NGNGこのクラス単体で、static メソッドを用いてあれこれする。
pow は power。累乗。sqrt は square root 。平方根。
2乗は別に * でやってもいいんだがね。
数以外の入力での例外は parseDouble メソッドで発生する。
readLine() からこの付近までに try〜 catch と while ループを張って、
「数を入力せぇやぼけ」とできたらなおいい評価がもらえるだろうな。
0246デフォルトの名無しさん
NGNGご協力していただいた方々どうもありがとうございましたv
0247デフォルトの名無しさん
NGNGというのをを作らなきゃならんのですが全然わからんのです
ネ申様、教えて下さいお願いします・・・
(つД`)
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGすみません
OTL
0250デフォルトの名無しさん
NGNG宿題なら宿題らしく、問題文を全部書き写すところから始めろよ。
0251デフォルトの名無しさん
NGNG左上頂点を赤、右上を青
左下を緑、右下を黒として
左、右外郭線の中間色をだす、それぞれ左右の補間された中間色を水平に沿って
さらに四角形内部の中間色を求める、これを底辺からトップまで続ける
とあるんですが・・・(これで全文です)
中学レベルですか・・・・(´・ω・`)
0252デフォルトの名無しさん
NGNGreturn (int)(
(((double)c1 * (100.0 - (double)x)) + ((double)c2 * (double)x))/100.0
);
}
private static final Color marge(Color c1, Color c2, int x) {
return new Color(
marge(c1.getRed(), c2.getRed(), x),
marge(c1.getGreen(), c2.getGreen(), x),
marge(c1.getBlue(), c2.getBlue(), x)
);
}
public static void main(String[] args) {
Color c1 = new Color(0x00, 0x34, 0x21);
Color c2 = new Color(0xff, 0x22, 0x51);
Color c3 = new Color(0x21, 0x49, 0xff);
Color c4 = new Color(0x33, 0xe4, 0x81);
BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
for (int y=0; y<100; y++) {
for (int x=0; x<100; x++) {
Color ctop = marge(c1, c2, x);
Color cbottom = marge(c3, c4, x);
Color c = marge(ctop, cbottom, y);
img.setRGB(x, y, c.getRGB());
}
}
}
これであってんのかな? 分かってないままやってみたが
0253デフォルトの名無しさん
NGNG適当に変えてくれ あと表示はやってないから
0254デフォルトの名無しさん
NGNGという問題が出されたんですが、自分でやっても近いところまでは行くんですが、どうしてもうまくいきません。
どなたか教えてください。お願いします。
0255デフォルトの名無しさん
NGNG自分でどの程度やったのかかけよ。
どこがうまくいかないとか。
○投げで答えもらおうとするな。
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGとりあえず逆ポーランド実装でいいんじゃねーの。
アルゴリズム・実装方法はWeb探せば無数に出てくるし
0258デフォルトの名無しさん
NGNGこれの前スレか初心者すれのちょっと前探してみ。
逆ポーランド記法とか使ってた気がした。
0259デフォルトの名無しさん
NGNG暇だから書いてみた
ttp://up.isp.2ch.net/up/0844c6b610ab.java
に置いたからまだ必要だったら
# エラー処理は甘いのは愛嬌ということで
結構時間がかかった自分に鬱
0260デフォルトの名無しさん
NGNGdublle型実数値に変換して数値を表示させるプログラムを完成させるよう空欄を埋めなさい。
public class 3b{
public static void main(String args[]){
String s="GPIB-022.70V",ds;
ds=s.substirng([1]);
Double dd=[2];
double d =[3];
System.out.println(d);
}
}
これもお願いできないでしょうか。すみません・・・空欄は[1]とかです。
0261260
NGNG次の実行結果になるよう空欄を埋めなさい
実行結果
0dB -> 1.0
1db -> 1.2589254117941673
略
9dB -> 7.943282347242816
10dB -> 10.0
public class 3c{
public static void main(Stringargs[]){
for(int dB = 0;dB<=10;dB++){
System.out.println([1]);
}
}
空欄は[1]です。よろしくお願いします
0262デフォルトの名無しさん
NGNGnew Double(ds)
dd.doubleValue()
dB + "dB -> " + Math.pow(10.0, (double)dB/10.0)
ちなみに、自分で試してないからね
0263デフォルトの名無しさん
NGNG>Math.pow(10.0, (double)dB/10.0)
よくわかったね。
0264260
NGNG0265デフォルトの名無しさん
NGNG遅れましたが、どうにかやってみます
ありがとうございます
0266デフォルトの名無しさん
NGNGしかもむしろ blend の方が良かった気もする
0267デフォルトの名無しさん
NGNGCarは,40リットルのガソリンタンクを持ち,ある決められた燃費(リットル/km)で走る.
燃費は,コンストラクタの引数で指定する.
初期化後の最初のガソリン量は,0.
特定の距離をドライブするメソッドdriveがあり,走った分だけガソリンが減る.
ガソリンを給油するメソッドtankがある.
現在のガソリンの量を調べるメソッドcheckFuelがある.
ガソリンの量が空になっているかどうかを調べるメソッドisEmptyがある.
/**
* Carクラスを試験するクラス
*/
public class CarTest {
public static void main(String[] args){
// 最大データ数5のStrStackオブジェクトを生成
Car myCar = new Car(10); // リットルあたり10km走る.
myCar.tank(40); // 40リットル給油する
System.out.println("Empty ? " + myCar.isEmpty());
myCar.drive(400); // 400km走る.
System.out.println("Fuel = " + myCar.checkFuel());
myCar.tank(20); // 20リットル給油する
System.out.println("Fuel = " + myCar.checkFuel());
}
}
0268267
NGNG0269デフォルトの名無しさん
NGNGint fuel = 0;
int mileage;
public Car(int mileage) {
this.mileage = mileage;
}
public void tank(int fuel) {
this.fuel += fuel;
}
public int checkFuel() {
return fuel;
}
public boolean isEmpty() {
return fuel == 0;
}
public void drive(int distance) {
fuel -= distance * mileage;
if(fuel < 0) {
fuel = 0;
}
}
}
0270デフォルトの名無しさん
NGNG燃料タンクに限界突破して給油できる
driveでのmileageの実装がkm/lじゃなくてl/kmになってる。
例えば、fuel=0の状態でdrive(10000)が実行可能。
267への課題として残したのかな?
0271269
NGNGkm/lだとすると fuel -= distance / mileage;
tankの方は最後に
if(fuel > 40) {
fuel = 40;
}
とでも付け足してください
driveは燃料無いときどうしろとか書いてないから気合で動いてもらう
0272デフォルトの名無しさん
NGNG>new Car(10); // リットルあたり10km走る
矛盾してるな。267の問題文の書き損じに一票。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNGどうもありがとうございます。
問題のほうはそのままみたいなので教授が勘違いしてるのですかね・・・。
0275デフォルトの名無しさん
NGNG例えば
char c = 1;
として
int i = c;
とやったら49になってしまうのですが。。
0276デフォルトの名無しさん
NGNGうそつけ
0277デフォルトの名無しさん
NGNG解決法はatoi使え。
0278デフォルトの名無しさん
NGNGchar c = '1';
こうしたんだろ。
>>277
0x31 = 3 * 16 + 1 = 49
atoi なんてメソッドもない。
アホもたいがいにしましょう。
i = Integer.parseInt("" + c);
もしくは
i = new Integer("" + c).intValue();
0279デフォルトの名無しさん
NGNGcには0〜9以外の文字は入らない場合、これでもOK。
0280デフォルトの名無しさん
NGNGキーボードから実数xを入力し、結果を表示するプログラムを
作成せよ。
y1=(2*x**2)(3*x−3/4)
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG問題は、(a)scoreという配列の初期値を78,・・・・・・・・・・・77。
とする。(・・・・・・・・は省略しました。)
(b)右端の77を分割値としてdoPartitonに示した方法で二分割した結果を標準出力する。
と言うものです。
実行結果は 77の左側には77より小さい数、右に大きい数が表示されることになります。
0284デフォルトの名無しさん
NGNGstatic int[] score = new int[11];
public static void main(String[] args) {
initialize();
int partition = doPartition(0,11,score[11]);score[5] = 91;
for(int i =0; i<score.length; i++){
System.out.println(score[i]);
}}
static void initialize() {
score[0] = 78;score[1] = 65;score[2] = 59;score[3] = 58;score[4] = 55;score[5] = 91;
score[6] = 100;score[7] = 57;score[8] = 59;score[9] = 54;score[10] = 85;score[11] = 77;
} static int doPartition(int left,int right,int pivot){
int leftPtr =left - 1;
int rightPtr =right;
while(true){
while(score[++leftPtr]<pivot);
while(rightPtr>0 && score[--rightPtr]>pivot);score[5] = 91;
if (leftPtr>=rightPtr) break;
else swap(leftPtr,rightPtr);}
swap(leftPtr,right);
return leftPtr; }
static void swap(int x, int y) {
int tmp;
tmp = score[x];
score[x] = score[y];
score[y] = tmp;
}}
上が自分の作ったやつです。
ドコが間違っているのかご指導ください。
0285デフォルトの名無しさん
NGNGよくわからんけど、次の点を直したらエラー出さずに動くようになったよ。
1、配列の要素は12個使うらしいので、12個の領域を持つ配列を生成するようにした。
static int[] score = new int[12];
2、なんか途中に入ってる意味のわからない
score[5] = 91;
を消した。
0286デフォルトの名無しさん
NGNGimport java.io.* ;
import java.net.* ;
import java.util.* ;
class Netclock1{
public static void main(String args[]){
ServerSocket servsock = null;
Socket sock;
OutputStream out;
String outstr;
Date d;
try{
servsock = new ServerSocket(1032,300);
while(true){
sock = servsock.accept();
d = new Date();
outstr = "\n"
+ "Hello, this is Netclock server."
+ "\n" + d.toString() + "\n"
+ "Thank you." + "\n";
out = sock.getOutputStream();
Thread t = new Netclockthread(out, outstr);
t.start();
sock.close();
}
}
catch(IOException e){
System.exit(1);
}}}
0287286
NGNGimport java.io.* ;
import java.net.* ;
import java.util.* ;
public class Netclockthread extends Thread{
OutputStream out;
String outstr;
int n;
public Netclockthread(OutputStream out, String outstr){
this.out = out;
this.outstr = outstr;
}
public void run(){
try{
for(n = 0; n < outstr.length();++n)
out.write((int)outstr.charAt(n));
out.write('\n');
}
catch(IOException e){
System.exit(1);
}
}
}
接続があった時間を返すサーバを作りたいんですが
何も返してくれません。
どこがまずいんでしょうか?
どなたかお願いします。
0288デフォルトの名無しさん
NGNGぜんっぜん分かりません。
誰か優しい人、おねがいしなす。
なを、Subで始まりEnd Subで終わってください。
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291名盤さん
NGNG心からお願いします。
0292デフォルトの名無しさん
NGNGSystem.out.println(”明日5:00職員室に来てください”);
0293291
NGNGありがとうございます。
ついでに、実効のやり方が分かりません。
教えてください。
0294デフォルトの名無しさん
NGNG出力するようにスレッドを立てておいて、
すぐさまソケットを閉じちまってるのが原因ではなかろうか。
あと Buffered なものを使うとか文字列出すなら Writer 使うとか
flush するとかいろいろ作法はあるけど・・・
>>293
>>291 には提出方法も形態も書いてないしな。
それはもう同級生に聞いた方が早そうだ。
0295デフォルトの名無しさん
NGNGjava Hoge
0296291
NGNG0297デフォルトの名無しさん
NGNG0298291
NGNGそうなんですか?
プリント提出の場合は何かする必要あるのですか?
0299デフォルトの名無しさん
NGNGそれ以上は教授に聞け。
0300291
NGNGわかりました。
どうもありがとうございました。
0301286
NGNG助かりました、有難うございます。
0302デフォルトの名無しさん
NGNG>301は>294あてです。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG自分では全くできず、助けてー
0305デフォルトの名無しさん
NGNG初めて聞いたが、これはなんだ、数学・物理?
MATLAB 2ch でググッて、既に話として出てるスレでも探せば?
特定の製品環境で Java を使うのどうのは、その製品のスレでもなければ厳しいよ。
pure java なものなら普通の質問スレでもいいかもしれないけど。
それともまさか Java とは関係なしに聞いてるんじゃないだろうな
>>304
懐かしい。基本だな。
課題がでて、それから Java を初めてやって、その日のうちに解決しちまった
あの課題がなかったら今 Java で仕事してないかもしれないな
0306デフォルトの名無しさん
NGNGpublic class Q304 {
public static void main(String[] args) {
String text = "This is a pen. This is mine.";
SortedMap map = countWords(text);
printResult(map);
}
//あとで順に並べたいので SortedMap を返すことにしておく
public static SortedMap countWords(String text) {
SortedMap counts = new TreeMap();
StringTokenizer st = new StringTokenizer(text, " \n.,");
while (st.hasMoreTokens()) {
String token = st.nextToken().toLowerCase(); //大文字を小文字に
Integer count = (Integer)counts.get(token); //幾つカウントしたか取り出す
if (count == null) {
count = new Integer(0); //初出なら、0 を取り出した感じにする
}
counts.put(token, new Integer(count.intValue() + 1)); //1足して格納
}
return counts;
}
0307デフォルトの名無しさん
NGNGpublic static void printResult(Map map) {
for (Iterator itword=map.keySet().iterator(); itword.hasNext(); ) {
String word = (String)itword.next();
Integer count = (Integer)map.get(word);
System.out.println(word + "\t" + count);
}
}
}
あとはどうやって文を入力するかだが。
ファイルからか、パイプで標準入力するのか、
それとも上記のように、ソース中にリテラル(" " で囲む)用意すればいいのか。
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGtry { //入出力処理があるので例外処理を追加
String text = readText(new FileInputStream("data.txt")); //実行時ディレクトリとパスが別ならフルパスでも入れておけばいい
SortedMap map = countWords(text);
printResult(map);
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static String readText(InputStream inorg) throws IOException {
String text = "";
BufferedReader in = new BufferedReader(new InputStreamReader(inorg));
while (true) {
String line = in.readLine();
if (line == null) {
break;
}
text += line;
}
return text;
}
他にも ( ) はどうするんだ、とかシバリがあるかも知れんけど、それは自分で工夫して
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGどうか、全部つなげてもらえないでしょうか?
めちゃめちゃ初心者なんです
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG0314309
NGNGreadText メソッドを追加
書き忘れたけど、 import java.io.*; も追加
0315314
NGNG0316デフォルトの名無しさん
NGNGfor (Iterator itword=map.keySet().iterator(); itword.hasNext(); ) {
String word = (String)itword.next();
Integer count = (Integer)map.get(word);
System.out.println(word + "\t" + count);
}
}
}
これはどういう意味なんでしょうか、どなたか解説おねがいします。
0317デフォルトの名無しさん
NGNGどこが分からないんだ?
0318デフォルトの名無しさん
NGNGプログラムを一文ずつ説明したらどうなるかなあと思って
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG全体的な意味でもいいです
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGIterator、Set、Mapの詳細についてはAPIリファレンスのjava.utilを参照。
というか、mapとset、イテレータと言う概念が分かってないと説明のしようが無い。
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGスペースだけが3つとか、要するにスペースのみしか入力されていない時、
それをエラーとするにはどういったscriptにしたらいいでしょうか?
0325デフォルトの名無しさん
NGNGjava.lang.String#trim() を使うといいかも。
スペースだけの場合と、何も入力されなかった場合を分けて扱うなら、
java.lang.String#matches() かな。
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG釣られたよ。(涙
0328デフォルトの名無しさん
NGNGMap(java.util.Map)というのは、ある値と別の値を結びつける働きをするコンテナ。
無茶苦茶大雑把な言い方をすれば、添字に数字だけでなく文字列とかも使える配列のようなもの。
添字に当たるデータを「キー」、それに対応するデータを「値」と呼ぶ。
Set(java.util.Set)というのはデータコンテナ。配列の親戚、程度の認識で今回は問題ない。
Iterator(反復子、java.util.Iterator)というのは配列で言えば添字みたいなもの。
printResultはMap型の変数(以下、map)を引数に取る。
for文の初期化ではIterator型のitwordを宣言し、それがmapのキーを指すようにしている。
詳しく言えばmap.keySet()でmapのキー全部が入ったSetが返ってくる。
それに対しiterator() (つまり、java.util.Set.iterator() )を実行し最初の要素の場所をゲト、それをitwordに代入。
Stringの行。itwordをnext()で次の要素を取り出すと同時にひとつ先に進める。
で、取り出した値を(String)で明示的に型変換しwordに代入。
Integerの行。mapの中からwordをキーに持つ値を引っ張り出し、やっぱり型変換してcountに代入。
mapはStringをキーに、Integerを値に持ってるMapだろうと推測される。
(Stringに変換可能な型とIntegerに変換可能な型ならば問題なく動くけど)
0329デフォルトの名無しさん
NGNGString, Integer はどちらも final なので、そういう型はないよ
0330デフォルトの名無しさん
NGNGたとえば、どこまで大きくできるかを表示する。
て奴なんですが、どうやるんでしょうか?
0331デフォルトの名無しさん
NGNG全角スペースを半角にすればコンパイルできるはず
class ByteMaxNumberPrintTest {
public static void main(String[] args) {
byte num = 0;
byte num2 = 0;
while(true) {
if(num >= num2) num2=num;
else break;
num++;
}
System.out.println("byte型の最大値は" + num2 + "です。");
}
}
0332デフォルトの名無しさん
NGNGマウスを放した時に最終的に終点を決定して楕円を描くようにするプログラム中の空欄を埋めながら完成させなさい。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Kadai extends [ 1 ]{
int x1,y1;
public void init(){
[ 2 ]
[ 3 ]
}
public void mouseDragged(MouseEvent me){
int x0,y0,x2,y2;
Graphics g=this.getGraphics();
g.clearRect(0,0,300,300);
x2=[ 4 ];
y2=[ 5 ];
if(x1>=x2)[ 6 ]else[ 7 ]
if(y1>=y2)[ 8 ]else[ 9 ]
g.drawOval([ 10 ],[ 11 ],[ 12 ],[ 13 ]);
}
0333デフォルトの名無しさん
NGNGpublic void mousePressed(MouseEvent me){
[ 14 ]
[ 15 ]
}
public void mouseReleased(MouseEvent me){}
public void mouseEntered(MouseEvent me){}
public void mouseExited(MouseEvent me){}
public void mouseClicked(MouseEvent me){}
}
初心者スレに誤爆してしまいました。よろしくお願いします。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG新規CSVファイルに書き込みする。
※1 このような形式のテキストが3個
[2004-05-21],rejtyfgyyjy
[2004-05-21],gerjtydytdh
[2004-05-21],gaerjytfgr
[2004-05-22],agergaerrf
[2004-05-22],faeraeferr
[2004-05-27],faerfaeret
[2004-05-27],fearajttyh
↓↓
新しく
[2004-05-27],faerfaeret
[2004-05-27],fearajttyh
このようなプログラムを何卒宜しくお願い致します。
0336デフォルトの名無しさん
NGNGimport java.text.*;
import java.util.*;
public class Q315 {
public static void main(String[] args) {
try {
String[] files = {
"hoge.csv", "hero.csv", "moe.csv"
};
String outfile = "out.csv";
Calendar date = Calendar.getInstance();
date.set(2004, Calendar.MAY, 27);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String key = "[" + df.format(date.getTime()) + "]";
Collection listmain = new ArrayList();
for (int i=0; i<files.length; i++) {
InputStream in = new FileInputStream(files[i]);
Collection list = collect(in, key);
listmain.addAll(list);
}
OutputStream out = new FileOutputStream(outfile);
write(out, listmain);
} catch (IOException ex) {
ex.printStackTrace();
}
}
0337デフォルトの名無しさん
NGNGpublic static Collection collect(InputStream in, String key) throws IOException {
Collection list = new ArrayList();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while (true) {
String line = br.readLine();
if (line == null) break;
if (line.startsWith(key)) {
list.add(line);
}
}
br.close();
return list;
}
public static void write(OutputStream out, Collection list) throws IOException {
PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));
for (Iterator itline=list.iterator(); itline.hasNext(); ) {
String line = (String)itline.next();
pw.println(line);
}
pw.flush();
pw.close();
}
}
0338デフォルトの名無しさん
NGNGあと、「今日」が「実行日」を意味するんなら、これいらん。
> date.set(2004, Calendar.MAY, 27);
ファイル名を args で渡すんならそれなりに自分で悩んでね。簡単だから。
0339335
NGNGありがとうございます!!
まだ、プログラム自体覚え始めたばかりなので、
後は自分で調べて組みます!
すごい助かりましたーー感謝
0340ド初心者
NGNGあと、xを入力する際、「x=」、yを入力する際、「y=」という誘導がつくようにして欲しいです
↓をちょこっと(あるいは大きく)変える感じでやって頂きたいです
class Compute {
public static void main(String[] args){
int x,y;
x = IO.in.readInt();y = IO.in.readInt();
System.out.println( (x-y)*(x+y) );
System.out.println( x*x-y*y );
}
}
0341デフォルトの名無しさん
NGNG//y = IO.in.readInt();
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("X =");
x = new Integer(in.readLine()).intValue();
System.out.print("Y =");
y = new Integer(in.readLine()).intValue();
} catch (IOException ex) {
}
0342デフォルトの名無しさん
NGNGネットワーク対戦ゲームをを作ることになったのですが、
この場合クライアント側をアプレットで、サーバー側をサーブレットで組もうと思ってますが、
このときの実行速度としてどの程度発揮できるものなんでしょうか?
やっぱぜんぜん話にならないぐらい遅いんですかね?
サーブレットの速さというのをお聞きしたいです。
0343デフォルトの名無しさん
NGNGアクションゲームに使うにはどうかな。あんまり使う意義も感じられないな。
クライアントは何でもいいけど、
サーバはサーブレットじゃなくて EJB か何かの方がいいんじゃないの?
俺はローカル環境でお遊び程度でしか使ったことがないのであれだが、
サーバのマシンスペック、J2EE環境、ネットワーク環境、
アイテムだのをどのぐらい凝るのか、同時対戦ユーザ数はいくらか、
それだけざっと書いたらエロイ人が
「やめとけ」「意味ない」「勉強にはいいんじゃない」とかくらいは答えてくれるだろう。
0344342
NGNG画面上で敵が近くにいたから避けようとしたら、サーバー上の座標はすでに接触してて
避けようとした瞬間にはやられてるというのはなくしたいんです。
一応サーバーは Pen4 2.53GHz RAM 1G 回線は光ので構成して、
対戦人数は多くても5人ぐらいまでですかね。
ネットワークプログラミングの勉強なんでそこまで完全なものができなくてもいいのですが、
さすがにあまりに遅くてゲームにならないようなものだと、できたときに悲しいもので…
0345超初心者
NGNGいけないにも関わらず、パソコンがおかしくて
JAVAができません。
public class Mondai1{
public static void main(String S[]){
int n,m;
for(n=1;n<-4;n++){
for(m=2;m<=4;m+=2){
if(n%2==1)break;
System.out.println("n="+n+"m="+m);
}
}
}
}
このプログラムでbreakの代わりにcontinue
を用いると実行結果はどのように変わりますか?
0346超初心者
NGNGpublic static void main(String s[]){
Test t=new Test();
t.show();
t.show(4);
}
}
このプログラムで実行結果がi=0 i=4
となるようなTestクラスを求めよ。
0347超初心者
NGNGpublic static void main(String s[]){
ConOver co1=new ConOver(),co2=new ConOver(7);
co1.print();
co2.print();
}
}
このプログラムで実行結果が
i=6
i=7
となるようなConOverクラスを書け。
0348超初心者
NGNGGIF画像が移動するJAVAアプレットを作成せよ。
半径が15ピクセルの黒円がマウスのドラッグすれば
円がマウスポインタについてくるようなJAVAアプレットを作成せよ
マウスのクリックで始点を決め、ドラッグすることによって楕円を
描くJAVAアプレットを作成せよ。ただし終点はマウスを放すことに
より決定する。
0349超初心者
NGNG0350デフォルトの名無しさん
NGNG65536色が扱えるとした場合,この一画面を扱うために必要なメモリ量を
バイト(8bit)で答えよ。
お願いします。
0351デフォルトの名無しさん
NGNGJava の問題じゃないな。
128 * 72 * log2(65536) / 8 = 18432
0352デフォルトの名無しさん
NGNGあ、すいません。ここJava専門だったんですね
次からは気をつけます。
回答のほうありがとうございました。
0353デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG0356340
NGNG0357デフォルトの名無しさん
NGNGtry catchのでの例外処理は習ってないとしても、
ラッパークラスすら習っていないのか…
しかも標準入力から読ませるのにStringBufferも習ってないって…
今まで習ったの簡単に列挙してみなよ
0358357
NGNGBufferedReaderのことね
0359デフォルトの名無しさん
NGNG単に、自分が知らないから怖いだけだったりな。
0360デフォルトの名無しさん
NGNG大学の場合、そんなこと無いだろ。
習ってないから使っちゃダメなんてアホなことはありえん。
0361デフォルトの名無しさん
NGNGサーブレットなんかよりは、自分で独自サーバ組んで各セッション管理した方がいいぞ。
0362デフォルトの名無しさん
NGNGまぁ講師としてはその方が教えやすかろうが無能の証でもあるわな・・・Java やってる意味なさげ
そしたら
System.out.print("X =");
このへんくっつけるだけでいいんじゃないか?
とにかく >>341 のソースでどうなるか試して、考えてみろよ
0363デフォルトの名無しさん
NGNG>>345 変らない。つーか写し間違ってない?
>>346
class Test {
public void show() {
show(0);
}
public void show(int i) {
System.out.print("i=" + i + " ");
}
}
>>347
class ConOver {
private int i;
public ConOver() {
this(6);
}
public ConOver(int v) {
this.i = v;
}
public void print() {
System.out.println("i=" + i);
}
}
>>348
めんどくさっ。惜しかったなぁ、夕べ見てたらやってやったのに
0364デフォルトの名無しさん
NGNGレポート課題で自作プログラムの説明書を作れといわれて、
javadoc生成ドキュメントを丸ごと提出したら「自分の手で一から書け」と言われorz
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG「使ったからどうだってんだ」って意味だろう
0367デフォルトの名無しさん
NGNGプログラムの説明書とJavaDocは微妙にちがうような。
0368デフォルトの名無しさん
NGNGというか全然違う。
0369デフォルトの名無しさん
NGNG例えば、顧客登録システムのようにメイン画面から追加・変更・削除などを選び、
それぞれの処理を行い、結果を表示するプログラムを教えてください。
0370デフォルトの名無しさん
NGNGさすがにそんなおおざっぱな要求じゃちょっと・・・。
Javaスレなんだから、せめて要件定義と基本設計程度はすませておいてくれ。
0371デフォルトの名無しさん
NGNGあとGUI関係は放置するらしい
>>1嫁
0372デフォルトの名無しさん
NGNGぽんぽん答えられるわけねーっつーの
適当に仕様決めて組んでやっても 300行超えるだろう
そんなの、めんどくさくて誰もやらない
0373デフォルトの名無しさん
NGNG考え方
添え字100までの配列Pを作成する。
2は素数なので、P[2]は素数である印を付け、P[2×n](n>2)は素数でないと印を付ける。2を表示する。
次のP[3]を調べると。素数ではないという印がないので、素数であると印を付け、P[3×n](n>2)は素数でないと印を付ける。3を表示する。
次のP[4]を調べると、すでに素数でないという印がついているので、何もしない。
これを10まで繰り返す。
10から先は、P[n]に素数でないという印のないnを順番に表示する。
100行わたって、各行にランダムな整数が一つずつ格納されたファイル(data.txt)から100個の数値を読み込み、小さい方から順に並べ替え、画面に表示せよ。
考え方
配列にデータを読み込む。
配列の先頭から、隣同士のデータを比べ、並べ替え条件と大小関係が異なれば、内容を交換する。
この比較と交換を順に配列の末尾に向かって、繰り返していく。
最後まで、これを繰り返していく中で、内容の交換が一度も行われなければ、並べ替えが終了した状態である。
並べ替えが一度でも行われていれば、配列の先頭に戻って、比較と交換を繰り返す。
並べ替えが終わったら、配列の内容を順番に画面に表示する。
0374デフォルトの名無しさん
NGNGprivate static final int NONE = 0, SOSUU = 1, HISOSUU = 2;
public static void main(String[] args) {
int[] P = new int[101];
java.util.Arrays.fill(P, NONE);
for (int i=2; i<=10; i++) {
if (P[i] == NONE) {
P[i] = SOSUU;
for (int j=i+i; j<=100; j+=i) {
P[j] = HISOSUU;
}
System.out.println(i);
}
}
for (int i=10; i<=100; i++) {
if (P[i] == NONE) {
System.out.println(i);
}
}
}
}
0375デフォルトの名無しさん
NGNGpublic class Q373_2 {
private static final String FILENAME = "datas.txt";
public static void main(String[] args) {
int[] A = new int[100];
try {
load(A);
boolean exchanged;
do {
exchanged = false;
for (int i=0; i<99; i++) {
if (A[i] > A[i+1]) {
int tmp = A[i]; A[i] = A[i+1]; A[i+1] = tmp;
exchanged = true;
}
}
} while (exchanged);
0376デフォルトの名無しさん
NGNGex.printStackTrace();
}
for (int i=0; i<100; i++) {
System.out.print(A[i] + " ");
}
}
private static void load(int[] array) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(FILENAME)));
int i = 0;
while (true) {
String line = br.readLine();
if (line == null) break;
array[i] = new Integer(line).intValue();
i++;
}
br.close();
}
}
0377デフォルトの名無しさん
NGNG漏れと全く同じ課題だ…。提出期限は明日だよな?
0378デフォルトの名無しさん
NGNGイエス。おまいもしかして…
0379378
NGNGまあ別にかぶってもいいか
0382デフォルトの名無しさん
NGNG教室の黒板にでも書いてろ
な?
0383デフォルトの名無しさん
NGNGたとえば、どこまで大きくできるかを表示する
ただし、1ずつ足していくのではなく、もっと効率的なやり方で求めよ。
って奴なんですが、どうやればいいのでしょうか?
0384デフォルトの名無しさん
NGNG10ずつ足す。
0385デフォルトの名無しさん
NGNG1→2→4→8→16→32→64→128→96→・・・
2倍ずつ増やしていく。
超えてしまったら、一回戻って半分(64の代わりに32)足す
これを繰り返していけばいいんじゃないか?
0386デフォルトの名無しさん
NGNGの部分をCSV出力せよ。「bbb」は17文字以内の英数字(大文字小文字混じり)の乱
数とする。
A,Bのフォーマット以下の通り
aaa,bbb,ccc A.csv
d,bbb B.csv
お願いします、プログラム初心者過ぎて、全然分かりません。。
0387デフォルトの名無しさん
NGNG引数のオブジェクトをローカルのオブジェクトに渡して、それをnullにした場合は呼び出し元のオブジェクトも消えるんでしょうか。
public object list(object obj){
object obj2=obj;
object obj3=obj.next;
obj2=null;
obj3=null;
}
↑こういう風にやってobjとobj.nextがちゃんとnullを指すのでしょうか。もし出来ないならどうやれば出来るでしょうか。
0388387
NGNG0389デフォルトの名無しさん
NGNGそんなことはできん
0390デフォルトの名無しさん
NGNGこの時点で間違ってる。
引数はオブジェクトそのものではなくその参照。ローカルに渡せるのも参照。
null が入る先は変数であってオブジェクトではない。
君の言ってるようなことがもし出来たら、1つの変数の参照先をかえるだけで、
あちこちの変数の値が変わりまくってしまうだろう。困るだろうそんなの。
君は C の例を出してきてるが、C のポインタがどんなものかいまいち分かってないから java の方も分からないんだ。
0391デフォルトの名無しさん
NGNG例えば、分類番号=100、分類名=文学、図書名=△△△△などを複数入力し、
すべて表示させる。
0392387
NGNG>>390
でも出来るって書いてますよ。
0393デフォルトの名無しさん
NGNG要件定義があいまい。
A.csv
aaa,bbb,ccc
aaa,bbb,ddd
aaa,kkk,eee
aaa,kkk,ddd
B.csv
d,bbb
d,kkk
このとき、どう表示してほしいの?
4×2の総当りをするのか、それとも A, B は同じ行数で、1行ずつまっちさせるのか。
それとも B は 1行のみなのか。
A の 3カラム目は、重複を許すのかそれとも重複分は省略するのか。
0394デフォルトの名無しさん
NGNG書いてあるって言い張るんならその通りやってろ。クソスレageるは反省しないわ最低だな。
0395デフォルトの名無しさん
NGNG要件定義があいまい。
順順に登録したはいいが、いつどの時点で表示するのか。
空白入力時とか、勝手に決めていいのか?
それとも 1件入力後ごとにメニュー表示するのか?
0396デフォルトの名無しさん
NGNG1件ごとに表示してください。
また、空白時、既に登録済みの分類番号がある場合はエラーメッセージを出力
してください。
すみません、説明不足で・・・。
0397387
NGNG0398デフォルトの名無しさん
NGNGhage() {
Node root;
//(ry
hoge(root);
root = null;
}
void hoge(Node node) {
if (node.next != null) {
hoge(node.next);
node.next = null;
}
//node 君の断末魔処理
}
これでええやんけ。てめぇが何やりたいか正確にわからないからな。これで勝手に想像しろ。
0399デフォルトの名無しさん
NGNGpublic class A {
private String data;
private A next;
public A() {
}
public void setNext( A a ) {
next = a;
}
public A getNext() {
return next;
}
public void clear() {
data = null;
}
}
こんなクラスの場合でいいのか?
この場合は、こんな感じで全部消せる。
while ( a != null ) {
A b = a.getNext();
a.setNext( null );
a.clear();
a = b;
}
0400デフォルトの名無しさん
NGNGfor文を使ってなんとか完成させたのですが、
できるだけ大きい素数を求めたいので(賞金とれるほど大きい素数を求めたいわけではないですが)
できるだけ処理を減らし、効率の良い処理をするプログラムを作りたいです。
なにか良い方針などがあれば教えて下さい
0401387
NGNG0402デフォルトの名無しさん
NGNGエラトステネスのふるいでぐぐれって
0403デフォルトの名無しさん
NGNGimport java.util.*;
public class Q391 {
public static void main(String[] args) throws IOException { //ほんとは行儀悪い
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Vector nums = new Vector(), books = new Vector();
while (true) { //無限ループ
//入力
System.out.println("ひとつずつ入力してください(分類番号,分類名,図書名)");
String num = in.readLine();
try {
Integer numInt = new Integer(num);
//チェック
if (nums.contains(numInt)) {
System.out.println("既に使われている分類番号です");
} else {
0404デフォルトの名無しさん
NGNGString typename;
while (true) {
typename = in.readLine();
if (typename.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
String title;
while (true) {
title = in.readLine();
if (title.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
//生成
Book book = new Book(numInt.intValue(), typename, title);
//追加
nums.add(numInt);
books.add(book);
//表示
printBooks(books);
}
0405デフォルトの名無しさん
NGNGSystem.out.println("分類番号は数字でどうぞ");
}
}
}
private static void printBooks(Vector books) {
System.out.println();
System.out.println("分類番号\t分類名\t図書名");
for (Enumeration e=books.elements(); e.hasMoreElements(); ) { //index 使ったり Iterator 使ったりもOK
Book book = (Book)e.nextElement();
System.out.println(book.getNum() + "\t" + book.getTypeName() + "\t" + book.getTitle());
}
System.out.println();
}
}
0406デフォルトの名無しさん
NGNGprivate int num;
private String typename, title;
public Book(int num, String typename, String title) {
this.num = num;
this.typename = typename; this.title = title;
}
public int getNum() {
return num;
}
public String getTypeName() {
return typename;
}
public String getTitle() {
return title;
}
}
ちょっと丁寧目にしたからかえって分かりにくいかも。ゆるせ。
0407デフォルトの名無しさん
NGNGありがとうございます。早速試してみます!!
あと、たびたび申し訳ないのですが、その登録した図書情報から
分類番号を選択し、削除・変更することも可能でしょうか??
変更の場合はもう一度分類番号、分類名、図書名を入力することになるのですが・・・。
お願いします。
0408デフォルトの名無しさん
NGNG変更はこんな感じ。
int index = nums.indexOf(numInt);
Book book = (Book)books.get(index);
book.setTitle(title); //setter を自分で作る。コンストラクタでやってる処理と同じ
削除はこう。
int index = nums.indexOf(numInt);
nums.remove(index);
books.remove(index);
これをこのまま組み込むとなるとソースがどんどん汚くなるな。
できれば自分で頑張って欲しいがどうだ。
0409デフォルトの名無しさん
NGNGかなりがんばったのですが・・。
メインで機能(登録・削除・変更)を選択し、それぞれを別のクラスで処理したら可能ですか??
表示はメインで一度に表示するとか。
0410デフォルトの名無しさん
NGNG・find(int num)
・add(int num, String typename, String title)
・edit(int num, String typename, String title)
・remove(int num)
なる各メソッドを作れば、整理できるであろう。
頑張ってやってみたら直してあげよう。
0411デフォルトの名無しさん
NGNGとりあえず、なんとかがんばってやってみます。
ただ、インスタンスやメソッドの意味もろくに理解していないド素人なため、
期待はできません。
0412デフォルトの名無しさん
NGNGその先頭をtopにして、毎回シフトしてtopを消す前にtopを辿って次のノードをtopに更新してるんですけど、どうもtopが更新されてないっぽいです。
どなたか原因を教えて頂けないでしょうか?topを使わなくてもリストの先頭ノードが毎回参照できる方法があればいいんですが・・
0413デフォルトの名無しさん
NGNG直すもなにもさっぱりです・・。
0414デフォルトの名無しさん
NGNGpaintComponentでsuper.paintComponent()を呼び出さずにfillRectで最初だけクリアして何とか間に合わせてますが、ボタンを押したりするとゴミが出ます。
何か上手い方法はありますか?
0415デフォルトの名無しさん
NGNGJPanelのPaintComponentではdrawImageだけするようにする、とか。
0416デフォルトの名無しさん
NGNGただ、paintComponent内でのクリアの有無の制御を行うメソッドなどは無いのでしょうか?
0417デフォルトの名無しさん
NGNGせめてヒントだけでも教えてください。
しつこくてすみまそ
0418へっぽこプログラマー
NGNGもしかして提出日明日とか?
それなら俺のできる範囲で作ってみるけど・・・
0419デフォルトの名無しさん
NGNG月曜日でもいいと言われたが、そのときは評価点が下がるらしい。
0420デフォルトの名無しさん
NGNG初心者なら評価低いのは当然なのでは?
つーか>>410大ヒントのよーな
0421デフォルトの名無しさん
NGNGthis.typename = typename;
}
public void setTitle(String title) {
this.title = title;
}
Book にこのメソッドを足す。
0422このクラスを足す
NGNG//index は図書の並んでる順番、num は図書番号を表す
//nums は図書の並んでる順に、図書番号を蓄えてある
//そうすることで、図書番号から図書を即座に取り出せる
private Vector books, nums;
public Library() {
books = new Vector();
nums = new Vector();
}
public Book find(int num) {
int index = nums.indexOf(new Integer(num));
if (index == -1) {
return null; //無いから null を返す
} else {
return (Book)books.get(index);
}
}
public void add(int num, String typename, String title) {
Book book = new Book(num, typename, title);
nums.add(new Integer(num));
books.add(book);
}
0423このクラスを足す
NGNGpublic void edit(int num, String typename, String title) {
Book book = find(num);
book.setTypeName(typename);
book.setTitle(title);
}
public void remove(int num) {
int index = nums.indexOf(new Integer(num));
nums.remove(index);
books.remove(index);
}
public void printBooks() {
//Q391 の static void だったものと中身同じ
}
}
あとはメニューと入力部分。ちょっとまっとれ
0424main 差替え
NGNGLibrary lib = new Library();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while (true) {
System.out.println("0:追加 1:変更 2:削除 9:終了");
String numstr = in.readLine();
try {
int num = new Integer(numstr).intValue();
if (num == 9) {
break;
} else if (num == 0) {
addProcess(lib, in);
lib.printBooks();
} else if (num == 1) {
editProcess(lib, in);
lib.printBooks();
} else if (num == 2) {
removeProcess(lib, in);
lib.printBooks();
} else {
System.out.println("無効な番号です");
}
} catch (NumberFormatException ex) {
System.out.println("無効な番号です");
}
}
}
0425追加処理。基本は同じ
NGNGSystem.out.println("ひとつずつ入力してください(分類番号,分類名,図書名)");
int num;
String typename, title;
//番号
while (true) {
try {
String numstr = in.readLine();
num = new Integer(numstr).intValue();
if (lib.find(num) != null) {
System.out.println("既に使われている分類番号です");
continue;
}
break;
} catch (NumberFormatException ex) {
System.out.println("分類番号は数字でどうぞ");
continue;
}
}
0426追加処理。基本は同じ
NGNGwhile (true) {
typename = in.readLine();
if (typename.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
while (true) {
title = in.readLine();
if (title.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
//生成
lib.add(num, typename, title);
}
0427のこり
NGNG//追加と削除のハイブリッド。
//番号は「存在しない」チェックをし、その他項目は同じように入力させ、
//最後に lib.edit する。それくらいは頑張ってみんか?
}
private static void removeProcess(Library lib, BufferedReader in) throws IOException {
System.out.println("分類番号を入力してください");
int num;
while (true) {
String numstr = in.readLine();
if (numstr.equals("")) {
System.out.println("キャンセルします");
return;
}
try {
num = new Integer(numstr).intValue();
if (lib.find(num) == null) {
System.out.println("その番号は存在しません");
continue;
} else {
break;
}
} catch (NumberFormatException ex) {
System.out.println("分類番号は数字でどうぞ");
}
}
lib.remove(num);
}
0428デフォルトの名無しさん
NGNGQ391 は起動クラスなので public にしておこう。ファイル名は Q391.java
main はメニュー表示。
〜Process は Q391 内のメソッドで、main から分岐して呼び出される。
(main が static なので、そこから直で呼ばれるメソッドも static)
Libary は図書を収めたり削除したりの仲介。BufferedReader は文字入力用のクラス(Java 標準 API の1つ。自作ではない)。
図書群の Vector は main のローカル変数から、Library のインスタンスフィールドに移動したから、
文書リスト表示も Library のインスタンスメソッドに変更した。
だから main にあった printBooks(Vector) はもういらない。
0429デフォルトの名無しさん
NGNGどうもご丁寧にありがとうございます。
あれから自力でがんばってみたのですが、なかなかエラーがつぶれなかったので
助かりました!!
さっそく動かしてみますね。
0430デフォルトの名無しさん
NGNGとでて、エラーになってしまいます。
0431デフォルトの名無しさん
NGNGint, String, Stringが引数として必要なメソッドであるeditを、intだけで呼び出してる、って意味。
何行目でそんな呼び方をしたかは、エラーメッセージに書いてある。
その程度のバグは自力で潰せるようにならんと永遠に他人任せのままだぞ。
0432あいタン ◆3QC.t4i5w6
NGNGちょっと、おじゃばしますねーヽ(´▽`)ノ
・・・
何もいわないで・・・(⊃д`)
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGcharAt()を使って実行するプログラムを組んでください。
そしてその両方をキーボード入力から選択できるように
プログラムを組んでください。
おねがいします。
0435デフォルトの名無しさん
NGNGわからないので適当にやってみたのですが・・・。
間違いをなおしてやってください。変更の部分
System.out.println("分類番号を入力してください");
int num;
String typename,title;
while (true) {
String numstr = in.readLine();
if (numstr.equals("")) {
System.out.println("キャンセルします");
return;
}
0436デフォルトの名無しさん
NGNGString numstr = in.readLine();
num = new Integer(numstr).intValue();
if (lib.find(num) != null) {
System.out.println("既に使われている分類番号です");
continue;
}
break;
} catch (NumberFormatException ex) {
System.out.println("分類番号は数字でどうぞ");
continue;
}
}
0437デフォルトの名無しさん
NGNGtypename = in.readLine();
if (typename.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
while (true) {
title = in.readLine();
if (title.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
}
lib.edit(num,typename,title);
0438デフォルトの名無しさん
NGNGまずな、while(true) {} というのは、{} 内を、延々と何度も何度も繰り返すのだ。
{} をブロックと呼ぶ。
break はブロックの外、} の次の行へ抜け出す。
continue は即座にブロックの最初に戻る(だから } の直前の continue は本当は意味がない)。
ただし、ブロックはブロックでも if {} else {} とか try {} catch() {} は continue, break に関係ない。
if {} の中に break があれば、その外側にある中で一番内側の while を break する、という意味。
while ブロックの先頭に in.readLine() があるということは、
間違いがあれば何度も一行入力を繰り返す、という処理をやってるわけだ。
この場合変更処理だから、分類番号は既に使われてる番号でなければいけない。
その入力をさせる繰返しの中に、
>System.out.println("既に使われている分類番号です");
>continue;
があったらおかしいだろう。
それと、ここにソース貼るときは面倒だからしてないけど、{} が現れるごとにインデントしてるか?
{ と } の数が合ってないとき、わけわからんところでエラーが出るから手に追えないぞ。
それでチェックしながらやればもうちょいだ。
0439デフォルトの名無しさん
NGNGそれでも5個のエラーが出てくる。
もう泣きたい・・・。
情けなくて涙がでてくるよ。・゜(⊃д`)゜・。
try {
num = new Integer(numstr).intValue();
if (lib.find(num) == null) {
System.out.println("その番号は存在しません");
continue;
} else {
break;
}
} catch (NumberFormatException ex) {
System.out.println("分類番号は数字でどうぞ");
}
System.out.println("ひとつずつ入力してください(分類番号,分類名,図書名)");
while (true) {
0440デフォルトの名無しさん
NGNGできてるところのしくみをゆっくり解析してみれ。
0441デフォルトの名無しさん
NGNG0442434
NGNG0443デフォルトの名無しさん
NGNGString a = in.readLine();
int value_a = (a.charAt(0) == '1' ? 4 : 0) + (a.charAt(1) == '1' ? 2 : 0) + (a.charAt(2) == '1' ? 1 : 0);
同じようにもう1つ入力して足して出力するだけ
0444デフォルトの名無しさん
NGNGMain-Classもしっかり指定しています。なぜでしょうか。
0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNG内容を「しっかり」などと具体性に欠ける表現で済ませるなど、
問題外の質問文ではお話にならないです
0447デフォルトの名無しさん
NGNGそれが普通じゃないの?
俺も通常のclassファイルすらIDE上でしか実行出来ないけど。元々そういう仕様だと思う。
0448デフォルトの名無しさん
NGNG0449長文なので分割
NGNGimport java.awt.*;
import java.awt.event.*;
class MainFrame extends JFrame
{public MainFrame(String title, int width, int height)
{Color color = Color.lightGray;
setTitle(title);
setSize(width, height);
setBackground(color);
getContentPane().add(new TextPanel("hello, world", color));
setDefaultCloseOperation(EXIT_ON_CLOSE);}}
class TextPanel extends JPanel
{private Font m_font;
private FontMetrics m_fm;
private String m_str;
private Color m_color;
public TextPanel(String str, Color color)
{m_font = new Font("SansSerif", Font.BOLD, 30);
m_fm = getFontMetrics(m_font);
m_str = new String(str);
m_color = Color.red;
setBackground(color);
setLayout(new FlowLayout());
JButton RedBtn = new JButton("Red");
add(RedBtn);
JButton GreenBtn = new JButton("Green");
add(GreenBtn);
0450長文なので分割
NGNGadd(BlueBtn);
RedBtn.addActionListener(
new ActionListener()
{public void actionPerformed(ActionEvent e)
{m_color = Color.red;
repaint();}});
GreenBtn.addActionListener(
new ActionListener()
{public void actionPerformed(ActionEvent e)
{m_color = Color.green;
repaint();}});
BlueBtn.addActionListener(
new ActionListener()
{public void actionPerformed(ActionEvent e)
0451長文なので分割
NGNGrepaint();}});}
public void paintComponent(Graphics g)
{super.paintComponent(g);
g.setColor(m_color);
g.setFont(m_font);
int x = (getWidth() - m_fm.stringWidth(m_str)) / 2;
int y = m_fm.getAscent() + (getHeight() - m_fm.getHeight()) / 2;
g.drawString(m_str, x, y);}}
public class Test
{public static void main(String[] args)
{MainFrame frame = new MainFrame("sample04", 300, 180);
frame.show();}}
大変見づらくて申し訳ないですが、このプログラムを以下の様に変更しろという課題です。
・ボタンそのものをイベント・リスナーにしてください。
・すっきりと短く美しい実装を心がけてください。そうでない場合は 減点 します。
期限が明日までなので、分かる方がいましたらどうかご教授お願い致します。
0452デフォルトの名無しさん
NGNGなるほど、私もクラスファイルもプロンプトから実行出来ませんでした。
CLASSPATH=.;にしてPATHにjdkのパス追加しましたが全く変わりません。同じエラーが出ます。
0453デフォルトの名無しさん
NGNGボタン作成・追加・Listener 登録をばっさり切って代わりにこれ
add(new MyButton("Red", Color.red));
add(new MyButton("Green", Color.green));
add(new MyButton("Blue", Color.blue));
あとこのクラスを宣言(※TextPanel の中に宣言すること)
private class MyButton extends JButton implements ActionListener {
private Color color;
private MyButton(String name, Color color) {
super(name);
addActionListener(this);
this.color = color;
}
public void actionPerformed(ActionEvent e) {
m_color = color;
TextPanel.this.repaint();
}
}
ほんとに美しい実装なら Action を使うんじゃないのかなぁ・・・
ほかにももっともっと改良の余地あるなぁ・・・まぁいいけどね
0454デフォルトの名無しさん
NGNGありがとうございます!
これで明日の授業で提出できそうです。
本当に感謝です。
0455デフォルトの名無しさん
NGNG表示させるのってどうやるのでしょうか。
たとえば、Bill is tiredと打ち込んだとき
空白の部分を無視して文字数は11ですよーって返してくれるやつが
作りたいのですが・・・。。
宜しくお願いします。
0456デフォルトの名無しさん
NGNGメソッドを2つ使ってみた。
( getTypeCount と main )
public class Test
{
private static int getTypeCount(String line)
{
return line.replaceAll(" ", "").length();
}
public static void main(String[] args)
{
System.out.println( args[0] + " : " + getTypeCount(args[0]) );
}
}
むろん、他にもやり方はあるけど。
全角空白も無視したいなら、自分でやってみたらいい。
0457デフォルトの名無しさん
NGNG多項式(1+x)のn乗における、xのi乗の項の係数をP(n,i)としたときに、キーボードからnを入力して、
P(n,0) P(n,1) P(n,2)...P(n,n)
を印刷するプログラムを作成しなさい。
そのプログラムを拡張して、nを入力したら、0からnまでのP(n,i)を画面に表示するプログラムにしなさい。このときに、数が三角形に配列するが、これをPascalの三角形という。
よろしくおねがいします
0458デフォルトの名無しさん
NGNG名前と金額が交互に記録されたファイルから、名前としてendが読み込まれるまで、データを読み込む。
それぞれの金額を支払うために最低枚数の紙幣と硬貨の組み合わせを1万円札、5千円札、千円札、500円玉、100円玉、50円玉、10円玉、5円玉、1円玉の枚数を計算し、表示する。(2千円札を入れてもよい)
最後に、Totalとして、すべての金額を支払うために必要な紙幣と貨幣の数を表示する。
データファイルの例takeda
123456
tanaka
234567
takenaka
454545
takenouchi
345432
end
結果表示の例takeda 123456 12 0 3 0 4 1 0 1 1
tanaka 234567 23 0 4 1 0 1 1 1 2
takenaka 454545 45 0 4 1 0 0 4 1 0
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=99&fi=no
0462461
NGNG>java Shukudai458 money.txt
money.txt のデータ形式がおかしいと即、例外で終わるので注意。
0463461
NGNGま、いいか。
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGP(n,i) を配列で表す。下から x^i 乗の項の係数
(1+x) → [1], [1], [0], [0], [0], [0] ...
2乗したときは、同じ物同士をずらして足す。
[1], [1], [0], [0], [0], [0] ... (1+x) のうちの 1。そのまま足す
+) [0], [1], [1], [0], [0], [0] ... (1+x) のうちの x。係数にかかる x の数が増えるのでずれる
-----------------------------
[1], [2], [1], [0], [0], [0] ...
3乗したときも同じ。
[1], [2], [1], [0], [0], [0] ...
+) [0], [1], [2], [1], [0], [0] ...
-----------------------------
[1], [3], [3], [1], [0], [0] ...
これを繰り返せばできるわけだが。
ちなみに三角形とは
0
1 1
1 2 1
1 3 3 1
1 4 6 4 1
のことだね
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG結局private static void editProcess(Library lib, BufferedReader in) throws IOException {}
の中身がわからず、未完成のまま提出しました。
結局中身はなんだったんですか??
0469デフォルトの名無しさん
NGNGおじちゃんは悲しいよ
0470デフォルトの名無しさん
NGNGこのままではすっきりしないので教えてください。
後でトレースしたいので・・・。
0471デフォルトの名無しさん
NGNGString typename, title;
System.out.println("分類番号を入力してください");
while (true) {
String numstr = in.readLine();
if (numstr.equals("")) {
System.out.println("キャンセルします");
return;
}
try {
num = new Integer(numstr).intValue();
if (lib.find(num) == null) {
System.out.println("その番号は存在しません");
continue;
} else {
break;
}
} catch (NumberFormatException ex) {
System.out.println("分類番号は数字でどうぞ");
}
}
0472デフォルトの名無しさん
NGNGwhile (true) {
typename = in.readLine();
if (typename.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
while (true) {
title = in.readLine();
if (title.equals("")) {
System.out.println("空白はダメです");
continue;
} else {
break;
}
}
//変更
lib.edit(num, typename, title);
以上。よくみてごらん。add, remove の各部分をほとんどいじらず合成。
0473デフォルトの名無しさん
NGNG今後の参考にしたいと思います。
0474デフォルトの名無しさん
NGNG学籍番号を入力すると対応する学生を探し、新しいファイルを作成するみたいな
プログラムってどうやって作ればいいんですか?
0475デフォルトの名無しさん
NGNG具体的なことは説明できない。少なくとも、
「学生情報がどこにどういう形式であるのか。」
が分からないことには。
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNGMathクラス使っちゃいかんの?
0478デフォルトの名無しさん
NGNG開平をやるか増やしたり減らしたりをやるか
0479デフォルトの名無しさん
NGNGXが平方根を求めたい数、Nは適当に。
public class Sqrt {
private static final double X=10.0;
private static final int N = 4000;
public static void main( String args[] ) {
int i, c;
double t, t2;
java.util.Random r = new java.util.Random( );
for( i = 0, c = 0; i < N; ++i ) {
t = r.nextDouble( ) * X;
t2 = t*t;
if( t2 < X ) ++c;
}
System.out.println( "r=" + ((double)c/N)*X );
}
}
0480デフォルトの名無しさん
NGNGMathクラスって何すか?ってレベルなんで…
>>499
ありがとうございます。
どういう構造になってるか俺には全く理解不能ですが、とりあえず動かしてみます。
0481デフォルトの名無しさん
NGNGMathクラスは数学計算をするための static 関数群を提供する。
その中には平方根を求める関数 sqrt がある。
>>479はランダムな値をぶち込んで結果を照合してるだけだぞ。
たぶんそのレベルでニュートン法を使えってことはないと思うから上の事項を確認しろ
0482デフォルトの名無しさん
NGNGモンテカルロ法も知らないヴァカ発見(プ
0483デフォルトの名無しさん
NGNGdouble t = 1.0, x = 0.0;
//最初にオーダー決める(同じか超える値)
while (t*t <= value) {
t *= 10.0;
}
x = t;
//1段細かく求める(同じか下回る値)
t /= 10.0;
while (value < x*x) {
x -= t;
}
//超えないようにだんだん細かく足していく
for (int k=0; k<10; k++) {
t /= 10.0;
while ((x+t)*(x+t) < value) {
x += t;
}
}
return x;
}
モンテカルロ法もニュートン法も知らない無知な俺=478が組むとこうなる。
これくらいが妥当じゃないか?
0484デフォルトの名無しさん
NGNG横槍だけど、import java.util.*; 要るのではないかと。
でも java.util.Random とフルで書けばその必要は無いのでしたっけ?
0485デフォルトの名無しさん
NGNGフルで書けば必要なし
0486デフォルトの名無しさん
NGNGimport するかフルで書くかは完全に個人の自由でいいのでしょうか?
クラスの構造が分かりやすいのでフルがよさげですが、
タイプミス、プログラムの見易さなど考慮するとimportがいいような・・・
自分はimportする派ですがどうでしょう?
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG了解ですどうも
0489デフォルトの名無しさん
NGNG概要は↓
ttp://shinjuku.cool.ne.jp/javajava/kadai.txt
後、使用するインターフェイスは↓
ttp://shinjuku.cool.ne.jp/javajava/PersonalData.java
ttp://shinjuku.cool.ne.jp/javajava/AddressBook.java
です。
何でもいいので教えてください。
0490デフォルトの名無しさん
NGNGこれ会社の課題だろ?
こんなところで聞いてると上司に怒られるよ。
0491デフォルトの名無しさん
NGNG>>403-406, >>421-427, >>471-472
これで一個の課題よ。で、君のはこれより数段難しくなるわけ。
ということはソースも数段長くなるわけ。たぶん、誰もやらないと思う。俺もやらないし。
期待して待つくらいなら、諦めるか、参考にして勉強しなさい。
0492デフォルトの名無しさん
NGNG6歳以上12歳未満なら「子供料金」
それら以外なら「大人料金」
と書き出すプログラムお願いします
「if」とか「age>=6」とか使って
0493デフォルトの名無しさん
NGNG0以下の時の処理は端折った。
public class Sqrt {
private static final double E = 0.001; // 適当に。
private static final double X = 0.5; // 平方根を求めたい値
private static double sqrtInternal( double lb, double ub, double x ) {
double t = ( ub + lb )/2;
if( ub-lb < E ) return t;
if( t*t < x ) return sqrtInternal( t, ub, x );
return sqrtInternal( lb, t, x );
}
public static double sqrt( double x ) {
if( x < 1 ) {
return 1/sqrtInternal( 0, 1/x, 1/x );
}
return sqrtInternal( 0, x, x );
}
public static void main( String args[] ) {
System.out.println( "sqrt(" + X + ") = " + sqrt(X));
}
}
0494デフォルトの名無しさん
NGNGif ((age < 6) || (age >= 60)) {
System.out.println("無料");
} else if (age < 12) { //6歳未満は既に排除されている
System.out.println("子供料金");
} else {
System.out.println("大人料金");
}
0495デフォルトの名無しさん
NGNG>6歳未満は既に排除されている
これもプログラムの一部ですか
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGreplace()メソッドを使ってはいけないって言われました
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGプログラミング上の注意のところの
>・ラベル、無限ループは禁止。
ラベル禁止ってどういうこと?
0500デフォルトの名無しさん
NGNG>http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=java+%E3%83%A9%E3%83%99%E3%83%AB+break&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
知らなくても全然困らないが、知らないと馬鹿にされることがある。
要するに、多段で抜け出したいとき、途中では boolean 変数を使えってことでしょう。
0501デフォルトの名無しさん
NGNGありがとう
0502デフォルトの名無しさん
NGNG{
int i;
for (i = 0; b[i] != '\0'; i++)
a[i] = b[i];
}
void strncpy(char *t, char *s, int n)
{
while (n > 0 && *s != '\0') {
*t = *s;
t++;
s++;
n--;
}
}
↑の2つコードの間違いを指摘し修正しろというのなんですがどこが間違ってるのでしょうか?
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG「銀行の預金金額を入力してください。」
345323
「その銀行の一年あたりの利子率を入力してください。」
0.01
「何年後まで出力しますか?」
3
1年目の預金合計額は 348776円です。
2年目の預金合計額は 352263円です。
3年目の預金合計額は 355786円です。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGpublic class Q505 {
private static final String ITOA = "0123456789";
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("「銀行の預金金額を入力してください。」");
double sum = Integer.parseInt(in.readLine());
System.out.println("「その銀行の一年あたりの利子率を入力してください。」");
double rate = 1.0 + Double.parseDouble(in.readLine());
System.out.println("「何年後まで出力しますか?」");
int years = Integer.parseInt(in.readLine());
for (int y=1; y<=years; y++) {
String ystr = "";
int yy = y;
while (yy != 0) {
ystr = ITOA.charAt(yy%10) + ystr;
yy /= 10;
}
sum *= rate;
System.out.println(ystr + "年目の預金合計額は " + (int)sum + "円です。");
}
}
}
今回の初セーブ後の修正点:
・スペルミス修正 rare → rate
・sum を int で宣言してしまったため毎年切り捨てられちゃった→ double に修正
以上。数から言えば満足だが、2つめは質的にとっても危ないバグ
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG単利なのなら「1年あたり」という質問はどうかと。。
0510デフォルトの名無しさん
NGNGこれ、ノーセーブでやる量か?
つーかそういう遊びなら漏れも次やってみようかな。
0511デフォルトの名無しさん
NGNGでも >>505 の出題がそうだったんだもん 計算結果は複利だし・・・
>>510
どんだけ長いのでも最初はノーセーブでトライ(その代わり例外チェックとかは省略多し)。
かつ、IDE 使わないで、登録してるキーワードだけは色を変えてくれるエディタでやってる
0512デフォルトの名無しさん
NGNGマイナスの数が入力されるまでの入力データを使って平均値を求め、
個々のデータと平均値の差の二乗和の平均値を表示するプログラム(ただしデータは一回だけしか入力できない)
例
入力データが1,2,4,1なら、平均値は2なので平均値との差の二乗和は(-1)^2+0+2^2+(-1)^2=6となる。
�A
rand()/32768.0としてn個の乱数を作成し、その度数分布をつくるプログラム
ただし、度数分布のクラスの数は10とする
ぜんぜんわかりません。よろしくおねがいします。
0513512
NGNG0514デフォルトの名無しさん
NGNG/\__/
/ / \
/ / ,.==- =;
(⌒ / ーo 、 ,..of
( (6  ̄ i  ̄}
( | .r _ j /
\ 'ー-=ゝ/ ップ
\  ̄ノ
 ̄ ̄
0515デフォルトの名無しさん
NGNG配列を使って作成してください。
お願いします。
0516デフォルトの名無しさん
NGNGint[] array = { 2,4,6,8,12, 1 };
int min = array[0];
int max = array[0];
for ( int i = 1; i< array.length; i++ ) {
if ( min > array[i] ) {
min = array[i];
} else if ( max < array[i] ){
max = array[i];
}
}
System.out.println( min );
System.out.println( max );
0517デフォルトの名無しさん
NGNG教授にjavaはどういう処理が得意な言語か、
javaでどういうプログラムが書けるのか、調べて来い!
という課題をだされますた。
初心者すぎてまったくわからず困っているので、お力を貸してください。
0518最小値をとる配列要素の番号わかりません
NGNG標準偏差= 22.80
最小値= 5
最小値をとる配列要素の番号= 50
最大値= 99
最大値をとる配列要素の番号= 50
0- 9 |** 2
10-19 |* 1
20-29 |*** 3
30-39 |** 2
40-49 |****** 6
50-59 |********** 10
60-69 |******** 8
70-79 |******* 7
80-89 |****** 6
90-99 |***** 5
続行するには何かキーを押してください . .
0519最小値をとる配列要素の番号わかりません
NGNG#include <math.h>
#define NUM 50
int a[NUM] = {
99,45,89,62,61,93,55,78,56,26,
81,49,99,77,38,73,54,20,62,59,
63,59,63,93,74,37,71,49,48,56,
5,47,82,83,85,17,74,56,69,50,
51,82,24,99,66,65,73,53,48, 5};
0520デフォルトの名無しさん
NGNGQ どういう処理が得意か。
A これといってない。
Qどういうプログラムが書けるか。
A どうとでも書ける。
0521デフォルトの名無しさん
NGNG0522518
NGNG0523デフォルトの名無しさん
NGNG多分教授は大本営発表を待ってるはず。
http://jp.sun.com/products/software/javadesktopsystem/features.html
0524デフォルトの名無しさん
NGNGint[] array = { 2,4,6,8,12, 1 };
java.util.Arrays.sort(array);
System.out.println(array[0]);
System.out.println(array[array.length-1]);
0525デフォルトの名無しさん
NGNG苦手なの、無理なのだったらいくらかあるけどな。
常駐ソフトだのデスクトップユーティリティだのドライバとかな。
>>520 以外の答えを望んでるバカ教授はおまえの方から見限ってやれ。
0526厨房
NGNGvoid main (void)
{
char s,e;
printf("開始文字を入力==>");
scanf("%c",&s);
printf("終了文字を入力==>");
scanf("%c",&e);
printf("\n開始文字%c\n終了文字%c",s,e);
return;
}
どうやって入力すれば良いのでしょうか?
これだと一回目で終わってしまいます。
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG多分今度の夏休みは、英語ドリルがどうとかリトマス試験紙がどうとか、
硬筆とか毛筆とか7月の最初の週の天気とか聞きに来る奴が現れるな。
なんせ奴等はスレタイ読まないから。
0529デフォルトの名無しさん
NGNGどうしたらいいんでしょうか?
0530デフォルトの名無しさん
NGNG指定したURLに飛ぶっていうのはどーするんだ?
0531デフォルトの名無しさん
NGNGだろ。日本語的には。
0532デフォルトの名無しさん
NGNGパソコンからテキストファイルを読み込むプログラム
テキストを表示するプログラム
この二つを組み合わせると作れます。
>>530
複雑だね。ページを開くアプリケーションから作らないといけないし
0533デフォルトの名無しさん
NGNG絵日記なら代わりに書いてやれるぞ。
得ろ専門なので三日にいっぺんは濡れ場が入るが。
0534デフォルトの名無しさん
NGNGBの行に置換するって言うプログラム作れって言われたけどどのように作成したらいいん
でしょうか?
0535デフォルトの名無しさん
NGNGどこに載っているのですか?
0536デフォルトの名無しさん
NGNG↑ここの↓これ。
J2EE 1.4 Platform API Documentation
それか
All-In-One Bundle。
0537デフォルトの名無しさん
NGNGStringA=StringB
0538デフォルトの名無しさん
NGNGpublic class StringPatternMatche {
private final static int lineNum = 10;//行数の制限
private String[] lineA, lineB;
public StringPatternMatche(String[] lineA, String[] lineB) {
if(lineA.length == lineNum && lineB.length == lineNum) {
this.lineA = lineA;
this.lineB = lineB;
}
}
public String[] getLine() {
return lineA;
}
public void lineCheck() {
for(int i=0; i<lineNum; i++) {
if(!lineA[i].equals(lineB[i]))
lineA[i] = lineB[i];
}
}
}
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG';' がありません。
エラー 1 個
0541デフォルトの名無しさん
NGNGServer.java
TCPにおけるソケット通信を用いる
ClientからJAVAという文字を送るとServerで
受け取った文字を標準出力へ表示する
お願いします。力を貸してください。
0542デフォルトの名無しさん
NGNGimport java.net.*;
public class SocketTest{
private static final int PORT = 20000; //welknown でない 好きな値
public static void main(String[] args) {
try {
if ((args.length == 2) && args[0].equals("client")) {
Client c = new Client();
c.connect(args[1], PORT);
c.send("JAVA");
} else if ((args.length == 1) && args[0].equals("server")) {
Server s = new Server();
s.waitAccess(PORT); //無限ループ
} else {
System.out.println("Usage : java SocketTest (client host|server)");
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
今回の修正点:
Runnable つけようと思ってやめたのに implements 宣言したままだったとこ、
connect を connet をしたとこ、import java.net.*; しわすれ。
0543デフォルトの名無しさん
NGNGttp://www.hellohiro.com/socket.htm
これの文字列をJavaに書き換えれ
0544デフォルトの名無しさん
NGNGprivate Socket socket;
public void connect(String host, int port) throws IOException {
socket = new Socket(host, port);
}
public void send(String line) throws IOException {
OutputStream out = socket.getOutputStream();
out.write(line.getBytes());
out.flush();
}
}
class Server {
public Server() {
}
public void waitAccess(int port) throws IOException {
ServerSocket ss = new ServerSocket(port);
while (true) {
Socket s = ss.accept();
InputStream in = s.getInputStream();
byte[] buf = new byte[100];
int len = in.read(buf);
System.out.write(buf, 0, len);
}
}
}
1つのコンソールで java SocketTest server、もう1つで java SocketTest client localhost。
別サーバにつなぐときは localhost を書き換える。
0545デフォルトの名無しさん
NGNGサンプル指した方が早いよなぁ そりゃそうだ
0546デフォルトの名無しさん
NGNG頑張ってみます。
0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG文字を含む)の文字列を表示するプログラムです.空欄を埋めてプログラムを完成してください.
#include <iostream.h>
#define STR_LENG 100
char *wherechar(char *p,char ch);
void main(void)
{
char str[STR_LENG+1], ch, *p;
cout << "文字列入力"; cin >> str;
cout << "検索文字?"; cin >> ch;
if((p=wherechar(str,ch)) == NULL){
cout <<"文字"<< ch << "は見つからない"<<endl;
}
else{
cout<<"文字"<<ch<<"の後ろの文字列は"<<p<<endl;
}
}
char *wherechar(char *p,char ch)
{
//埋めていただきたいところ
}
という問題です。よろしくお願いします。
0549デフォルトの名無しさん
NGNG>>527 に回答があるよ。
0550デフォルトの名無しさん
NGNGごめんなさい、その527の辺りにヒントがあるということでしょうか?
0551デフォルトの名無しさん
NGNG( ) ,"⌒ヽ, .∴ ' <⌒ヽゲブッ
/"⌒ヽ 丶⌒"- ─ヽ, .∴ ' ”,, ,,("⌒丶>>550
丿 人 rー ─"" _ _ _,, _ ” (入 ヽ,ヽ
(_ ソ \, \彡-―""-――= ̄" ,,"" "`: ヽ > | )
", ' ,,, __―__ _ー=_ ソ ノ 丿 |
( 入_,, ノ二三"ー ̄− _ =二__",,, _,,(⌒ / 丿
| ” ドゴッ! ( ノヽノ ,,.,ノ
| | /” / ,,/
r⌒ ) _| / ノ
( | (_ ,ノ /
| |_ _,, _ ,/ _ ノ
(__ノ ( /
0552デフォルトの名無しさん
NGNGアナタノヤッテル言語はナニ言語アルカ?
そしてスレタイ読んで気づいテクダサイ
0553デフォルトの名無しさん
NGNG140*60pixelの長方形の中に半径15の円を描き、その円を上下左右移動できるようにする。
おしえてください。お願いします。
0554デフォルトの名無しさん
NGNG内容があいまいすぎ。
移動できるって、キーボードで移動するのか、マウスで移動するのか
はたまた勝手に円が動いてるのか。
あとマウス以外の方法使った場合、長方形の壁突き抜けて動けてしまうぞ。
paint(Graphics g){
g.drawOval(x,y,30,30);
}
で円を書いて、中心座標(x,y)を変化させた直後でrepaint()してやればいい。
0556デフォルトの名無しさん
NGNGそれは組み方次第だろ。マウスがどうとかどう関係があるんだ。
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGでは師匠、お手本をどうぞ。
0559デフォルトの名無しさん
NGNGどうしてシンボルが解決できないんだろう。。。
>シンボル: メソッド getAttribute (java.lang.String)
>場所 : org.w3c.dom.Node の インタフェース
> String ele= childNode.getAttribute(nodename);
import java.io.*;
import org.w3c.dom.*;
import org.apache.xerces.parsers.*;
import java.lang.*;
class DomParseDemo {
public static void main(String[] args) {
DOMParser parser = new DOMParser();
parser.parse(args[0]);
Document doc = parser.getDocument();
Node root=(Node)(doc.getDocumentElement()); //ルート取得
Node childNode = root.getFirstChild();
String nodename = childNode.getNodeName();
String ele= childNode.getAttribute(nodename);
System.out.println (ele);
}
}
0560デフォルトの名無しさん
NGNGgetAttribute "s"
0561デフォルトの名無しさん
NGNG模範つっこみをしろとでも?
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG>>1書いてることぐらい読め
で、よかったんじゃないのかと
0564デフォルトの名無しさん
NGNGただし、再帰を用いない double power1(double x,int n);
および再帰を用いた、
double power2(double x,int n);
の2通りと、それらの動作テストをするためのプログラムを作成せよ
尚、負のnにも対応せよ
このような課題なんですが、ご教授下さい
0565デフォルトの名無しさん
NGNGclass Q564 {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Q564 q = new Q564();
while (true) {
System.out.print("x = ");
double x = Double.parseDouble(br.readLine());
System.out.print("n = ");
int n = Integer.parseInt(br.readLine());
System.out.println("power1 : " + q.power1(x, n));
System.out.println("power2 : " + q.power2(x, n));
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
0566デフォルトの名無しさん
NGNGdouble a = 1.0;
for (int i=0; i<Math.abs(n); i++) {
if ((x == 0.0) || (n > 0)) {
a *= x;
} else {
a /= x;
}
}
return a;
}
double power2(double x, int n) {
if (n == 0) {
return 1.0;
} else if ((x == 0.0) || (n > 0)) {
return power2(x, n - 1)*x;
} else {
return power2(x, n + 1)/x;
}
}
}
0567デフォルトの名無しさん
NGNGBufferedReader コンストラクタの ) の数
再帰呼び出し時の引数 x 入れ忘れ(2つとも)
はっきり言って精度悪し。
入力チェックも無し。
ループ抜ける正しい方法も無し。
もらえるとすれば合格点中の最低点。
0568デフォルトの名無しさん
NGNG0 1 2 3 4 5 6 7 8 9
の数字をランダムに n 個 ( 0<n<10 ),
重複は認めずに取り出すにはどうした
らよろしいでしょうか.
よろしくお願いします.
0569デフォルトの名無しさん
NGNGpublic class Q568 {
public static void main(String[] args) {
int[] array = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
};
Random rnd = new Random();
for (int i=0; i<array.length; i++) {
int index;
do {
index = rnd.nextInt(array.length);
} while (array[index] == -1);
System.out.print(" " + array[index]);
array[index] = -1;
}
System.out.println();
}
}
0570デフォルトの名無しさん
NGNG> for (int i=0; i<array.length; i++) {
ここ
int n = //任意の数
for (int i=0; i<n; i++) {
こんな感じにしといて
0571デフォルトの名無しさん
NGNGうお!早い!
ほんとに恐れ入ります。
ありがとうございます、助かりました
0572デフォルトの名無しさん
NGNGpublic class Q568 {
static int[] getRandomArray(int n, int[] array){
int end = n <= array.length ? n : array.length;
Random random = new Random();
int[] result = new int[end];
for(int i = 0; i < end; i++){
int index = random.nextInt(end - i);
result[i] = array[index];
array[index] = array[end - i - 1];
array[end - i - 1] = result[i];
}
return result;
}
static void printArray(int[] array){
for(int i = 0; i < array.length; i++)
System.out.print(array[i] + " ");
System.out.println("");
}
public static void main(String[] args) {
int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] result = getRandomArray(5, array);
printArray(result);
}
}
0573572
NGNG0574デフォルトの名無しさん
NGNGimport java.util.Random;
public class Q568 {
static Random random = new Random();
static int[] getRandomArray(int n, int[] array){
int end = n <= array.length ? n : array.length;
int[] result = new int[end];
for(int i = 0; i < end; i++){
int index = random.nextInt(array.length - i - 1);
result[i] = array[index];
array[index] = array[array.length - i - 1];
array[array.length - i - 1] = result[i];
}
return result;
}
static void printArray(int[] array){
for(int i = 0; i < array.length; i++)
System.out.print(array[i] + " ");
System.out.println("");
}
public static void main(String[] args) {
int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for(int i = 0; i < 10; i++){
int[] result = getRandomArray(5, array);
printArray(result);
}
}
}
0575デフォルトの名無しさん
NGNGint[] a
の違いを教えて下さい
0576デフォルトの名無しさん
NGNG配列変数a
0578デフォルトの名無しさん
NGNGiswap(a,b)を実現せよ
これがよくわかりません。よろしくお願いします
0579デフォルトの名無しさん
NGNG2個も ではなく 2個の と読むのかな?
public void iswap(int a, int b) {
int num = a;
a = b;
b = num;
}
0580デフォルトの名無しさん
NGNG>>579
もそっと慎重に対応せぇよ
0581デフォルトの名無しさん
NGNGすみません、C言語でお願いします
2個も×
2個の○
>>579はjavaなんですか?
なにせ初心者なものでこの課題が難しいか簡単かもわからない始末、、
0582デフォルトの名無しさん
NGNG読んだら首吊って死ね文盲
0583デフォルトの名無しさん
NGNGスレタイ読んでくだされ…
学校の宿題は俺に…… for Java
0584581
NGNG0585デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1086612317/
0586デフォルトの名無しさん
NGNG小数点をつけるにはどうすれば
0587デフォルトの名無しさん
NGNGもんのすごい抽象的な質問だな。何を知りたいかそれだけで分かれってか。おう。
・double 使え
・NumberFormat 使え
・+ "." しろ
他になんかあるかな。これ以上は無理。
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGだとするとバグ付きで出したら、
ヤクザ団体から物凄いフィードバックが来るんだろうな
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNGげ、げ、原形がないんだな うん(山下
0592マホロビャ
NGNG0593デフォルトの名無しさん
NGNG0594マホロビャ
NGNG0595デフォルトの名無しさん
NGNG0596マホロビャ
NGNGや・・・やっすーーー!
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG・・・いいから宿題出たらそれだけ書けや 無駄レスすんな
0599デフォルトの名無しさん
NGNG0600マホロビャ
NGNGADS1
INBUFDS80
INLENDS1
BEGINININBUF,INLEN
SLLGR2,4
EXIT
END
なんか こういうCASLの問題なんだけど・・ 管轄外です?
0601マホロビャ
NGNGA DS 1
INBUF DS 80
INLEN DS 1
BEGIN IN INBUF,INLEN
SLL GR2,4
EXIT
END
0602デフォルトの名無しさん
NGNG誰かもう一人連れてきて地獄のコンビネーションにかけたい
0603デフォルトの名無しさん
NGNGもう夏ですなぁ
0604マホロビャ
NGNG0605デフォルトの名無しさん
NGNGよくやった!
0606デフォルトの名無しさん
NGNGこれでなぜかシンボルを解決できませんエラーが出るんですけど、なぜですか?
0607マホロビャ
NGNG0608デフォルトの名無しさん
NGNGCASLなんぞやったこと無いから理解できん。
っていうか、CASLの宿題スレ行けよ。
ここはJavaの宿題スレなので。
もしかして日本語理解できないとかじゃないよな?
0609デフォルトの名無しさん
NGNGいいです。だから死んでください。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG後ろから2つ目は配列みたいだが。
http://members.jcom.home.ne.jp/hikarufujimura/appendix/2D/BasicStroke/
http://skaiste.elekta.lt/Books/O'Reilly/Bookshelfs/books/javaenterprise/jfc/ch04_05.htm
0619デフォルトの名無しさん
NGNG1)要素数sizeの整数型配列tensuを設定する
2)全てのデータをtensuに読み込む
⇒データは不定個なのでwhile型の繰り返し(この処理中に入力されたデータ個数を求めておく)
3)配列tensu中のデータの合計を求める
⇒データ個数は分かっているのでfor型の繰り返し
4)平均点を算出し出力
課題1:配列を用いた試験の平均点(例)をプログラミングし、適切なデータで検証しなさい
課題2:課題1を、配列のサイズを最初に入力し、それを用いて配列を生成するように修正しなさい
※なお各数字は適当で良い
0620デフォルトの名無しさん
NGNGpublic class Q619 {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//課題1 ではこっち
//int size = 100;
//課題2 ではこっち
//System.out.print("データ数>");
//int size = Integer.parseInt(br.readLine());
//1)
int[] tensu = new int[size];
0621デフォルトの名無しさん
NGNGint count = 0;
while (true) {
System.out.print("入力(-1で終了)>");
int score = Integer.parseInt(br.readLine());
if (score == -1) break;
tensu[count] = score;
count++;
}
//3)
int sum = 0;
for (int i=0; i<count; i++) {
sum += tensu[i];
}
//4)
double average = ((double)sum)/((double)count);
System.out.println("平均点 : " + average);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
0622デフォルトの名無しさん
NGNG本当なら配列の数を決めたら丁度その数だけ入力があっていいと思うんだが、
そこまで言及してない。だから適当にしちゃった。
思わず "データ数>" にしちゃったけど "配列サイズ>" が正しいかな。
0623デフォルトの名無しさん
NGNG助かりました
0624名盤さん
NGNG最後の}でclassまたはinterfaceが必要と出たんですが、どうすればいいんでしょう?
0625デフォルトの名無しさん
NGNGインデントつけて、おかしいところを調べれ。
ちなみに //n) は全部同じ高さになるはず。
0626デフォルトの名無しさん
NGNGって何?
うちの授業でコレ使ってるの見たことないんだけど
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGio の基本中の基本じゃないの?知っとけよ。
0630デフォルトの名無しさん
NGNG前にもそれっぽいクラス書いてる奴がいたけど。
半ばウソ教えられてるようなもんだ かわいそうに
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNGエディタ(xyzzy)
ってのと
DOSプロンプト
ってのを自分のPCにも入れたいんだけど
どこでDLできますか
0633デフォルトの名無しさん
NGNGと
スタート->すべてのプログラム->アクセサリ->コマンドプロンプト
0634デフォルトの名無しさん
NGNGMeadowもイイ
じゃなくて、スレタイ嫁ゴルァ
0635デフォルトの名無しさん
NGNG(;゚д゚)・・・乗り突っ込み
0636デフォルトの名無しさん
NGNG・入力した文字の大文字小文字を区別しないようにしたい(例:the とThe)
・入力した文字列が完全一致した場合のみカウントする(例:the で検索したときに、theory はカウントしない)
ようにしたいのですがどなたか教えてください。お願いします(><)
public class Find3 {
public static void main(String[] args) {
if(args.length != 1) {
System.out.println("使用法:java Find3 検索文字列 < 検索対象ファイル");
System.out.println("example : java Find3 System < Find3.java ");
System.exit(0);
}
String findstring = args[0];
System.out.println("検索文字列は「" + findstring + "」です。");
BufferedReader reader = new BufferedReader( new InputStreamReader(System.in));
try {
String line;
int findnum = 0;
while ((line = reader.readLine()) != null) {
int n = line.indexOf(" " + findstring + " ");
while ( n >= 0) {
findnum++;
line = line.substring(n+1);
n = line.indexOf(" " + findstring + " ");
}
}
System.out.println(findnum + "こ見つかりました");
} catch (IOException e) {
System.out.println(e);
}
}
}
0637デフォルトの名無しさん
NGNG面倒なのでtry内だけ。あと、import java.util.regex.*;を足しておけ。
try {
String line;
int findnum = 0;
Pattern pat = Pattern.compile( "\\b" + findstring + "\\b", Pattern.CASE_INSENSITIVE );
Matcher mat = pat.matcher( "" );
while ((line = reader.readLine()) != null) {
mat.reset( line );
while( mat.find( )) findnum++;
}
}
0638637
NGNGを書き忘れた。ま、分かるだろ。
0639636
NGNGありがとうございました。(TдT)
あとは考察。。(;´〜`)何とかします
0640デフォルトの名無しさん
NGNG(300桁)」という課題がでました。
お力を貸してください。よろしくおねがいします。
0641デフォルトの名無しさん
NGNGpublic int size() { return count; }
public void reverse() {
int center = count / 2;
int end = count - 1;
for (int i = 0; i < center; i++) {
swap(i, end - i);
}
}
public void swap(int k, int j) {
int tmp = k;
k = j;
j = tmp;
}
理論的にはswapを使ってリスト内の入れ替えをして反転させようとしたのですが、
うまくいきません。
リスト内でのswapの使い方もよくわからないので、誰か教えてください。
0642641
NGNGpublic void concat(IntList x)
意味:リストの連結
というプログラムを作れという問題です。
誰かお願いします。
0643デフォルトの名無しさん
NGNGなんか「このクラスを使うこと」「使わないこと」とかシバリある?
>>641-642
その IntList とやらのソースなりインタフェースなりを教えてくれないことにはどうしようもない。
0644641
NGNG以下のIntList クラスに,次のメソッドを追加せよ.
public void reverse()
意味:リストの全要素を反転する.
public void concat(IntList x)
意味:リストの連結
class IntList {
private IntCell head;
private int count;
// 空リストを生成するコンストラクタ
// ダミーのIntCellインスタンスを生成している点に注意
public IntList() {
head = new IntCell();
count = 0;
}
// 要素の個数
public int size() { return count; }
// 要素の追加
public boolean add(int n) {
head.prepend(n);
++count;
return true;
}
0645641
NGNGpublic boolean add(int index, int n) {
IntCell p = nth(index);
if (p == null) {
return false;
}
p.prepend(n);
++count;
return true;
}
// index番目の値を見る
public int get(int index) {
IntCell p = nth(index);
if (p == null || p.isEnd()) {
System.out.println("IntList: range error.");
System.exit(1);
}
return p.getValue();
}
// 指定した値を持つ要素が存在するか?
public boolean contains(int n) {
IntCell p = search(n);
return !p.isEnd();
}
0646641
NGNGpublic boolean remove(int n) {
IntCell p = search(n);
if (p.isEnd()) {
return false;
}
p.delete();
--count;
return true;
}
// index番目の要素の削除
public boolean removeNth(int index) {
IntCell p = nth(index);
if (p == null ||p.isEnd()) {
return false;
}
p.delete();
--count;
return true;
}
}
長くなってすいません。
0647641
NGNGclass TestIntList {
public static void main(String[] args) {
IntList a = new IntList();
IntList b = new IntList();
a.add(2, 10);
a.add(0, 20);
b.add(3, 13);
b.add(0, 22);
a.reverse();
System.out.println(a);
a.concat(b);
System.out.println(a);
}
}
0648デフォルトの名無しさん
NGNG一時間周期のやり方がわかりません。
お願いします
0649デフォルトの名無しさん
NGNGThread, Runnable, Timer あたりを調べてみよ。
ちなみにここは基本的に丸投げスレなので、
それならそう書いて、必要な仕様や中途なソースも挙げて欲しいし、
そうでないなら(レスの感じからそういう風にしかとれない)次回から質問スレにどうぞ。
0650デフォルトの名無しさん
NGNG例で言えば
最新データ
一つ前
二つ前
・
・
としていくときの処理はどうやればいいのでしょうか?
おねがいします_| ̄|○
0651デフォルトの名無しさん
NGNGほんとにそれだけ? IntCell クラスとか、IntList のメソッドが足りないじゃないか。
それでも想像で組めそうではあるけど、俺らも君も動作検証できんぞ。
それと、>>641 は一体どこまでが君の書いたソース? 全部?
その swap は一切何の役にも立たないメソッドのようだが。
>>650
1) 実行時に全部リストに取り出しちゃって、そのリストの一番最初に最新分をつっこんで、全部書き込む。
2) 保存先と同じディレクトリに別のファイルを作り、最新分を書き込み、
古い方から一個づつ読み込んで新しいのに書き込み、
最後にファイルを閉じて、古い方を捨て、新しい方の名前を変える。
こんなとこかね。
0652641
NGNGclass IntCell {
private int value;
private IntCell next;
public IntCell(int value, IntCell next) {
this.value = value;
this.next = next;
}
public IntCell(int value) { this(value, null); }
public IntCell() { this(0, null); }
// アクセスメソッド
public int getValue() { return value; }
public IntCell getNext() { return next; }
// リストの最後を表すダミーセルかどうかの判定
public boolean isEnd() { return next == null; }
// 後への挿入
public void append(int n) {
IntCell p = new IntCell(n, next);
next = p;
}
0653641
NGNGpublic void prepend(int n) {
IntCell p = new IntCell(value, next);
value = n;
next = p;
}
// 要素の削除
public void delete() {
value = next.value;
next = next.next;
}
public String toString() {
if (next == null) {
return "" + value;
} else {
return "" + value + next;
}
}
}
0654デフォルトの名無しさん
NGNGそれに、検証用の main おかしくないか。
いきなり a.add(2, 10) って。
空のリストに 2 なんて index つけて渡しも、はじかれるんじゃないのかね。
それも nth の仕様が分からんとなんとも言えんがな。
0655641
NGNGprivate IntCell search(int n) {
IntCell p = head;
while (!p.isEnd() && p.getValue() != n) {
p = p.getNext();
}
return p;
}
private IntCell nth(int index) {
if (index < 0 || size() < index) {
return null;
}
IntCell p = head;
for (int i = 0; i < index; ++i) {
p = p.getNext();
}
return p;
}
0656デフォルトの名無しさん
NGNG最初に足した奴は一番終端に行くっていうのでいいのかね。うーん。
他にもひねくれたところが多いなぁ。俺の読み間違いかなぁ。
public void concat(IntList list) {
//相手の先頭を取り出す
IntCell c = list.head;
//追加前の終端に値を追加していく
//next をおっていくので、
//先頭(追加list に最後にaddしたもの)が新しい先頭になる。
int i = 0;
while (! c.isEnd()) {
add(i, c.getValue());
c = c.getNext();
i++;
}
}
public void reverse() {
//現在の内部構造をパージして新しい内部構造を作る
IntCell tmp = head;
head = new IntCell();
//先頭に順にデータを追加していく
//結果的に逆順になる
//先頭(最後に追加されたもの)は終端(最初に追加されたものの位置)に追いやられていく
while (! tmp.isEnd()) {
head.prepend(tmp.getValue());
tmp = tmp.getNext();
}
}
0657デフォルトの名無しさん
NGNGb にも add していって、
reverce 前、後、concat 後に println(a); してみよ。
ただし、以下のメソッドを IntList に追加しないと検証できない。
public String toString() {
return head.toString();
}
また、IntCell は以下のようにしないと見づらい。
public String toString() {
if (next == null) {
return " " + value;
} else {
return " " + value + next;
}
}
06581/3
NGNGpublic void execute() throws Exception {
int scale_org = 300;
int scale = scale_org + 5;
int a = 5;
int b = 239;
BigDecimal four = BigDecimal.valueOf( 4l );
BigDecimal arc_inv_a = arctanInverseX( a, scale );
BigDecimal arc_inv_b = arctanInverseX( b, scale );
BigDecimal pi = arc_inv_a.multiply( four ).subtract( arc_inv_b ).multiply( four );
System.out.println( four.toString() );
System.out.println( arc_inv_a.toString() );
System.out.println( arc_inv_b.toString() );
pi = pi.setScale( scale_org, BigDecimal.ROUND_HALF_EVEN );
System.out.println( pi.toString() );
}
06592/3
NGNGint i = (int)(scale/Math.log( base ) * Math.log( 10 ))+1;
if ( i % 2 != 0 ) {
i++;
}
return (i-1)/2;
}
private BigDecimal arctanInverseX( long x_org, int scale ) {
BigDecimal res = BigDecimal.valueOf( 0l );
BigDecimal one = BigDecimal.valueOf( 1l );
BigDecimal x = BigDecimal.valueOf( x_org );
System.out.println( x.toString() );
boolean sign = false;
int max_n = getMaxN( x_org, scale );
for ( int i =0; i < max_n; i++ ) {
BigDecimal val = pow( x, 2*i+1 );
val = one.divide( val, scale, BigDecimal.ROUND_HALF_EVEN );
val = val.divide( BigDecimal.valueOf( 2*i+1 ), BigDecimal.ROUND_HALF_EVEN );
if ( sign ) {
val = val.negate();
}
res = res.add( val );
sign = !sign;
}
return res;
}
06603/3
NGNGBigDecimal z = BigDecimal.valueOf( 1l );
for ( int i = 0; i < y; i++ ) {
z = z.multiply( x );
}
return z;
}
ちょっと丸めでインチキしてるんで、自分で手入れてくれ。
0661デフォルトの名無しさん
NGNGQ:2から100までの素数をすべて印刷するプログラムを作成しなさい。
(素数は2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61
67 71 73 79 83 89 97)
何か添え字100までの配列Pを作成するらしいんですがさっぱりでつ…
0662デフォルトの名無しさん
NGNGQ:多項式(1+x)のn乗における、xのi乗の項の係数をP(n,i)としたときに、
キーボードからnを入力して、P(n,0) P(n,1) P(n,2)...P(n,n)
を印刷するプログラムを作成しなさい。
そのプログラムを拡張して、nを入力したら、0からnまでのP(n,i)を画面に
表示するプログラムにしなさい。このときに、数が三角形に配列するが、これを
Pascalの三角形という。
何かPascalの三角形表示になるようなんですがこれもさっぱりでつ…
0663デフォルトの名無しさん
NGNGこのスレさらってみてみな。
0664デフォルトの名無しさん
NGNGpackage test;
import java.io.*;
public class Q662 {
public static int getP(int n, int i) {
int[] keisu = new int[n+1];
for (int j=0; j<keisu.length; j++) keisu[j] = 0;
keisu[0] = 1;
for (int j=0; j<n; j++) {
for (int k=keisu.length-1; 1<=k; k--) {
keisu[k] = keisu[k] + keisu[k-1];
}
}
return keisu[i];
}
(続く)
0665デフォルトの名無しさん
NGNGtry {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//キーボードからnを入力して、P(n,0) P(n,1) P(n,2)...P(n,n)
//を印刷するプログラム
int n = Integer.parseInt(br.readLine());
for (int i=0; i<=n; i++) {
System.out.print(" " + getP(n, i));
}
System.out.println();
//0からnまでのP(n,i)を画面に表示するプログラム
for (int j=0; j<=n; j++) {
for (int i=0; i<=j; i++) {
System.out.print(" " + getP(j, i));
}
System.out.println();
}
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
0666デフォルトの名無しさん
NGNGしかしのう。C++ の方でもかぶりまくってるのを見かけるが。
ネタ提供は嬉しいけど、どうかのう、この現状。
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNGpublic class JavaQ661 {
public static void main(String[] args){
int a[] = new int[100];
for(int i = 0; i < 100; i++){
a[i] = 0;
}
for(int i = 2; i < 100; i++){
for(int j = i * 2; j < 100; j += i){
a[j] = 1;
}
}
for(int i = 2; i < 100; i++){
if(a[i] == 0)
System.out.println("" + i);
}
}
}
0669668
NGNG0670デフォルトの名無しさん
NGNGその中の最大値と最小値を書き出すプログラム
と
三つの数を読み込み、数の小さい順に書き出すプログラム
三つの数が同じときや二つが同じときも動くように。
(ex:20 30 20 →20 20 30。 10 10 10 →10 10 10)
お願いします
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNGそういうスレでしょ?
0673デフォルトの名無しさん
NGNGimport java.io.*;
public class Three {
public static void main(String[] args){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] n = new int[3];
for(int i = 0; i< 3; i++){
System.out.print("input[" + i + "] > ");
n[i] = Integer.parseInt(br.readLine());
}
java.util.Arrays.sort(n);
System.out.println("最大値は " + n[2]);
System.out.println("最小値は " + n[0]);
System.out.println("昇順に並べると " + n[0] + " " + n[1] + " " + n[2]);
return;
}
catch(Exception e){
e.printStackTrace();
}
}
}
0674641
NGNG0675デフォルトの名無しさん
NGNG「何勝先取ですか?」
4
「第1回戦開始します。」
「じゃんけんほい…(グー:1、チョキ:2、パー:3)」
5
「1か2か3を入力してください!」
「じゃんけんほい…(グー:1、チョキ:2、パー:3)」
2
「コンピュータ君はチョキです。あなたはチョキです。」
「あいこです。」
「じゃんけんほい…(グー:1、チョキ:2、パー:3)」
2
コンピュータ君はグーです。
あなたはチョキです。
第1回戦、あなたは負けました。
現在、あなたは0勝1敗です。
第2回戦開始します。
・
・
第4回戦、あなたは負けました。
現在、あなたは0勝4敗です。
あなたは完敗です。
コンピュータのコメント「出直して参れ!!」
0676デフォルトの名無しさん
NGNG1980
「何月ですか?」
1
「何日ですか?」
45
「ありえません。何日ですか?」
6
「あなたは木曜日生まれです。」
注!うるう年には注意してください。
うるう年は、
(1)西暦年が四で割り切れる年
(2)そのうち百で割り切れる年はうるう年としない
(3)四でも百でも割り切れる年のうち、四百で割り切れる年はうるう年とする
の規則で設けられます。
0677デフォルトの名無しさん
NGNGimport java.io.*;
public class Janken {
private int gameCount = 0, preGameCount = 1;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) {
new Janken().show();
}
public void show() {
System.out.println("じゃんけんゲームをします。");
//じゃんけんゲーム開始
start();
}
public void start() {
try {
int uNum = 0, cNum = 0, vicCount = 0;
int preGameCount=1;
int win = 0, lose = 0;
System.out.println("試合数を入力してください (奇数のみ)");
while(true) {
if(!setGameCount(input())) continue;
break;
}
0678デフォルトの名無しさん
NGNGSystem.out.print("じゃんけん・・・(グー:1、チョキ:2、パー:3)\t");
while(preGameCount-1<gameCount) {
cNum = (int)(Math.random()*3)+1;
while(true) {
uNum=role(input());
if(uNum==-1) {
System.out.println("1〜3以外は入力しないでください。");
continue;
}
break;
}
int num = result(uNum, cNum);
if(num == 2) {
System.out.println("あいこで");
continue;
}
if(num == 1) win++;
if(num == 0) lose ++;
else if(num == -1) {
System.out.println("エラー");
continue;
}
0679デフォルトの名無しさん
NGNGpreGameCount++;
}
System.out.println();
if(win > lose)
System.out.println("PERFECT");
else {
System.out.println("COMPLETE DEFEAT");
System.out.println("Computer > 出直して参れ!!");
}
}
catch(Exception e) {}
}
public String input() {
try {
return br.readLine();
}
catch(IOException e) {}
return null;
}
//試合数のセット、 セットに成功:true
public boolean setGameCount(String str) {
int num;
try {
num = Integer.parseInt(str);
}
catch(NumberFormatException e) {
System.out.println("数字を入力してください");
return false;
}
0680デフォルトの名無しさん
NGNGthis.gameCount = num;
return true;
}
else System.out.println("奇数以外は入力しないでください");
return false;
}
//役(?)の判定
//1〜3以外を入力したらエラーメッセージ
public int role(String str) {
if(str.equals("1")) return 1;
else if(str.equals("2")) return 2;
else if(str.equals("3")) return 3;
return -1;
}
//勝ち負けの判定(グー:1、チョキ:2、パー:3)
//あいこ:2, 勝ち:1, 負け:0, エラー:-1
public int result(int uNum, int cNum) {
if(uNum == cNum) return 2;
else if(uNum<3&&(uNum+1)==cNum || 2<uNum&&(uNum-2)==cNum) return 1;
else if(cNum<3&&(cNum+1)==uNum || 2<cNum&&(cNum-2)==uNum) return 0;
else return -1;
}
0681デフォルトの名無しさん
NGNGprivate String roleString(int num) {
if(num == 1) return "グー";
else if(num == 2) return "チョキ";
else if(num == 3) return "パー";
return null;
}
private void jankenMessage(int uNum, int cNum, int num, int gameCount, int win, int lose) {
System.out.println("Computer" + roleString(cNum));
System.out.println("You" + roleString(uNum));
System.out.println();
if(num == 1) System.out.println("第"+gameCount+"回戦:You WIN");
else if(num == 0) System.out.println("第"+gameCount+"回戦:You LOSE");
System.out.println("現在の勝敗は: " + win + "/" + lose);
}
}
0682677-681
NGNGこれ以上はマンドイので自分でやってください
ソース汚いのは許してねw
0684デフォルトの名無しさん
NGNG例えば
9.999×10の1乗+1.610×10の-1乗
入力は二つです。10進数で入力します。それを2進に変換して浮動小数点数にして、演算をします。。
出力結果も10進で表示します。
C言語でお願いします
0685デフォルトの名無しさん
NGNGちょっとまって!! そのまえにコレ、実行してみて!!
#include <stdio.h>
#include <string.h>>
int main(int argc, int *argv[]){
char *s = "学校の宿題は俺にやらせて下さいver.2.0βfor Java";
unsigned int i;
for(i = 0; i < strlen(s) - 3; i++){
puts(s + i);
}
return 0;
}
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG・MIDIデータのピッチを半音階ごとに集計
・どうにかして7音に絞る
頻度の上位とか、音価の低いものを除くとか、工夫する
・音程が全全半全全全半になっているところを探す
マッチした先頭が長調、6度上が短調
これ以上は、和声学の知識が必要。
0688デフォルトの名無しさん
NGNGそれ厄介な方法じゃない?
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG宿題っぽくもないし
0691きょんちゃん
NGNGお願いします〜
0692デフォルトの名無しさん
NGNGアセンブラでもやってんのか
それとも System.out フィールドのことか
微妙だ
0693きょんちゃん
NGNG0694デフォルトの名無しさん
NGNG文字列出力は MS-DOS INT21 と PC98 の VRAM 直書きしか知らん。
手許の資料あさっても PC98 と AT互換機の BIOS、AT 互換機の VRAM 直書きしか分からん。
そもそもスレ違いの奴のことなど知らん。
0695デフォルトの名無しさん
NGNG別の名前でテキストファイルに出力せよ。
自分で以下のプログラムを作りましたがうまくいきません。
どうも、入力がうまくいってないようです。
テキストファイルのほうでは50個の整数を1個ずつ改行しながら入力しています。
また、入力をファイルからではなくコマンドライン引数からにする場合にはどうすればいいのでしょうか?
よろしくお願いします〜
0696デフォルトの名無しさん
NGNGclass Test{
public static void main(String[] args){
try{
FileInputStream fis = new FileInputStream("Data.txt");
DataInputStream dis = new DataInputStream(fis);
int g = 0;
double h = 0;
for(int i=0;i<50;i++){
int k = dis.readInt();
g += k;
}
h = (double)g/50;
FileOutputStream fos = new FileOutputStream("Data2.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(g);
dos.writeDouble(h);
fis.close();
fos.close();
}catch(IOException e){
System.out.println("入出力エラーです。");
}
}
}
0697デフォルトの名無しさん
NGNGファイルがテキストで入ってるなら、BufferedReader とか StringTokenizer とか使って読み込むんだよ
ためしに、ファイルから入力せずに、ソース中に用意した数値を DataOutputStream で書き込んで、
結果ファイルをエディタで開いてごらん
>また、入力をファイルからではなくコマンドライン引数からにする場合にはどうすればいいのでしょうか?
コマンドラインから50個も指定するの?
0698695
NGNGどうもありがとうございました。
コマンドラインは「ファイルをコマンドライン引数によって読み込む」の間違いでした・・・
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGこれ頼んます
0701デフォルトの名無しさん
NGNG数学的にできるところは自分でやってくれよ 頼むよボーイ
0702デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
if (args.length == 3) {
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[1]);
double c = Double.parseDouble(args[2]);
double D = b*b - 4.0*a*c;
if (D < 0.0) {
double xr = -b/(2.0*a);
double xi = Math.abs(Math.sqrt(-D)/(2.0*a));
System.out.println("解 : " + xr + "±" + xi + "i");
} else if (D == 0.0) {
double x = -b/(2.0*a);
System.out.println("重解 : " + x);
} else {
double x1 = (-b + Math.sqrt(D))/(2.0*a);
double x2 = (-b - Math.sqrt(D))/(2.0*a);
System.out.println("解1 : " + x1);
System.out.println("解2 : " + x2);
}
} else {
System.out.println("args : a b c");
}
}
}
こんな簡単な問題はないよ。
0703デフォルトの名無しさん
NGNGこれなに?
0705デフォルトの名無しさん
NGNG摂氏の温度をテキストフィールドに入力して、これを華氏の温度に変換するアプレットを
上のプログラムを改造して書け。さらに、2つのテキストフィールドを用いて、
摂氏と華氏の変換を双方向に行える(片方のテキストフィールドの値を変えると、
もう一方のテキストフィールドの値が変わる)ようにせよ。
※(華氏の温度)=(摂氏の温度)×9/5+32
※String型をdouble型(実数の型)に変換するには、Double parse Doubleという
クラスメソッドを使う。
お願いします。
0706デフォルトの名無しさん
NGNGimport java.awt.*;
import java.awt.event.*;
public class Q705 extends JApplet implements ActionListener {
JTextField celsius;
JTextField fahrenheit;
public void init() {
celsius = new JTextField("0", 15);
fahrenheit = new JTextField("32", 15);
celsius.addActionListener(this);
fahrenheit.addActionListener(this);
getContentPane().setLayout(new FlowLayout());
getContentPane().add(new JLabel("摂氏"));
getContentPane().add(celsius);
getContentPane().add(new JLabel("華氏"));
getContentPane().add(fahrenheit);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == celsius) {
fahrenheit.setText(String.valueOf(Double.parseDouble(celsius.getText())*9/5+32));
} else if(e.getSource() == fahrenheit) {
celsius.setText(String.valueOf((Double.parseDouble(fahrenheit.getText())-32)*5/9));
}
}
}
actionPerformedの所、分割した方がいいかも
0707デフォルトの名無しさん
NGNGk<<nの条件で、n個の整数を要素とする1次元配列のXの中から、
要素の値の小さい順にk個までの要素を抽出するための効率のいいアルゴリズム。
kはnに比べて非常に小さいものとする。
すべてを昇順にソートするのではなく、必要なk個のデータを得る方法を考えよ。
0708デフォルトの名無しさん
NGNGクイックソートのアルゴリズムをベースに改造してみると良いと思われ。
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGありがとうございました
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGソートなんかする必要ないじゃん。
配列全体一回舐めれば終わりでしょ。
0713712
NGNGでならぶリストで実装
2.配列Xを先頭から順にチェック
・Yにプーリングされている値がk個以下ならYに追加
・Yにプーリングされている値がk個以上で、Yが持つ最大の値(Y内部の
リストの最後尾の値)より小さい値であった場合、Yが持つ最大の値を削
除してからYに追加
・上記以外の場合は無視
でn回チェックで終了でしょ。
0714デフォルトの名無しさん
NGNG宿題でテトリスを作らなければなりません。
GUIにはSwingを使用とのこと。
で、まずは画面にブロックが落ちてくる(JFrameの中を四角形が動く)
プログラムから作ろうと思ったのですが、
どうやったら「動かせる図形」を描画できるのか判りません。
public void paint(Graphics g) {
として、
drawRectとかを使おうと思ったのですが、
これだと最初に描画したらそのままで動かせません。
どうしたらいいでしょうか。
一応スレッドの使い方は勉強しました。
0715714
NGNGsetBackgroundColorを変えることによるブロックが落ちるのを見せてます・・
それだとあまりにもダサイです。
0716デフォルトの名無しさん
NGNG1.paint()内部で、インスタンス変数を元に描画位置を決めてドロー
するように実装する。
2.シーンの進行とともにインスタンス変数を変更する。
でいいじゃん。
0717デフォルトの名無しさん
NGNG作ってみたが、拡張性とかあんまり考えていない。参考までに。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=131&fi=no
0718714
NGNGあまりに焦っていてインスタンス変数の事を考えてませんでした。
恥ずかしい・・・
ありがとうございます。
>>717
わざわざGUIのソースまで書いてもらってすいません。
大変参考になります。
宿題はもちろん丸パクリではなく、参考にさせて頂いて作ります。
ありがとうございました。
0719Name_Not_Found
NGNG0720714
NGNG一緒に頑張ろうぜ
今 日 の 23:59 ま で な !
0721714
NGNGおかげさまでテトリスというか、
テトリスのブロックがランダムで出て落下するものは出来ました。
回転、横移動も出来ました。
これも皆様のおかげです
ありがとうございました。
0722714
NGNG一応学校に提出するものなので
作ったソースをここに晒すことはできません。
予めご了承下さい。
0723719
NGNGOTL
0724719
NGNG私は2年ですが、いきなりこんな課題出されても・・って感じです。
とりあえず教科書読んで勉強してます。
0725デフォルトの名無しさん
NGNG>ここの方ならサクっと出来ると思うので質問させて下さい。
俺らが楽に出来るかどうかなんて関係ねーんだよボケが。
簡単に出来るんだったら何でも無条件にやってもらえるつもりになってんじゃねーよ。死ね。
0726714
NGNG0727デフォルトの名無しさん
NGNGここは、そういうスレなわけだが
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG「サクっと出来るので」という所に「チャッチャッとやってくれよな」なニュアンスを感じたんだと思う
0730デフォルトの名無しさん
NGNGとりあえず、717を解読することからはじめたら?
0731デフォルトの名無しさん
NGNG2年て何の2年?小学2年? 俺は中学2年でテトリス作れたよ
文句言うなら、適当な状態で進級させられたことに文句を言いませウ
高いレベルを要求されたら、現時点ではそれが必要なんだからしょうがない
よその学校のあんぽんたん授業で
あんぽんたんが同じ学位取ること考えたら腹立つだろうけどね
0732デフォルトの名無しさん
NGNGテトリスに比べれば簡単な宿題ですが、
int[][] comb(int[] arg,int m)
という関数を作る宿題です。
この関数は
自然数が配列で与えられます。
例えば[1,3,7,5]
この中からm個を選んでくる組合せを列挙するプログラムです。
m=2なら
[1,3][1,7][1,5][3,7][3,5][7,5]
です。
試行錯誤を繰り返しているのですが、どうもできません。
よろしくお願いします。
mが固定していれば簡単ですよね・・・
0733デフォルトの名無しさん
NGNG多重のforを動的にどう表現するかって問題ね。
面白そうだから、俺もちょっと考えてみよう。
0734デフォルトの名無しさん
NGNG0735733
NGNG2.要素数m個の配列をlistLen分用意する //int[listLen][m]
3.listに再帰を用いて値を入れる
1と3はそれぞれ再帰関数を作れば出来るかと。
0736デフォルトの名無しさん
NGNG0737初心者
NGNG使えばいいんでしょうか?そもそもその既存のクラスはあるのでしょうか。
0738デフォルトの名無しさん
NGNG友達は5分くらいで作ってしまったのですが、
その横で私は1時間悩み、家に帰ってから3時間考えたのですが
わかりませんでした。
それくらい、私は馬鹿なので・・・
再帰ってなんでしょうか?
無知ですいません。
0739デフォルトの名無しさん
NGNG>>732 が習ってるかどうかによるが。
それと、引数の配列内には重複はない前提でいいのかな?
0740デフォルトの名無しさん
NGNGhttp://www.hellohiro.com/timezone.htm
0741デフォルトの名無しさん
NGNGとりあえず、mが1の場合くらい自分で作ってみ。
0742デフォルトの名無しさん
NGNGJavaAPIリファレンスでぐぐってみよう
結構簡単に見つかりますよ
0743デフォルトの名無しさん
NGNGcomb([5,5,5],2)
であれば
[[5,5][5,5][5,5]]
です。
再帰?????
0744デフォルトの名無しさん
NGNGmが固定ならできました。
0745デフォルトの名無しさん
NGNG5分で考えたならそれは再帰だと思うがなあ。
メソッド内でそのメソッド自身を、引数を変えて呼ぶってのを習わなかった?
>>737
日本の時間なら常に 9時間、と決まってるわけだが。
>>740 の挙げてる、実行マシンの設定に対して、ということでいいの?
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNGたぶん、君にはできないw
一応、再帰を使ったものはできたけど。
再帰を使わないでできた人いる?
中2の宿題にしては難しいな。
0748デフォルトの名無しさん
NGNG>メソッド内でそのメソッド自身を、引数を変えて呼ぶってのを習わなかった?
習ったような習ってないような・・・
コンピューター実習の時間にゲームやってたりするので、
聞き逃したかもしれません。
ちょっとプリントを見直してみます。
0749デフォルトの名無しさん
NGNG0750733
NGNG俺なんでJavaスレにいるんだろうw
0751デフォルトの名無しさん
NGNG再帰を使えばできるんですか。
ちょっと考えてきます。
>>749
はい、既においてかれました。
日本で一番の進学校ですが、東大には入れないと思いますので
慶応か早稲田にしようかと思ってます。
まあ、まだ先の話ですが。
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG{5, 5, 5}, m=2なら{5, 5}, {5, 5}になりそうな気がするけどな。
上の例では、
{1, 3, 5, 7}, m=2で、
{1, 3}, {1, 5}, {1, 7}, {3, 1}, {3, 5}, {3, 7}……とはやってないんだから。
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG冷静にどうぞ。添え字の組合せだけと思われる。
すなわち {0, 1}, {0, 2}, {1, 2} の 3通り。
再帰考えないでやってみようと思ったけど、クソ汚くてだめだ。
結局、スタックを自前で用意するか、それと同等の処理をすることになるからな。
0756755 一応再帰無し
NGNGpublic class Q731 {
public static void main(String[] args) {
int[] arg = {
12, 1, 3, 5, 4
};
int m = 4;
int[][] result = comb(arg, m);
for (int i=0; i<result.length; i++) {
System.out.print("[");
for (int j=0; j<result[i].length; j++) {
System.out.print(result[i][j]);
if (j < result[i].length-1) {
System.out.print(",");
}
}
System.out.println("]");
}
}
0757755 一応再帰無し
NGNGint listLen = 1, r = 1;
for (int i=0; i<m; i++) {
listLen *= arg.length - i;
r *= (i+1);
}
listLen /= r;
int[][] result = new int[listLen][];
int[] lastselectedindex = new int[m];
{
int s = 1;
for (int k=1; k<lastselectedindex.length; k++) {
lastselectedindex[k] = s;
s++;
}
}
0758755 一応再帰無し
NGNGfor (int i=0; i<result.length; i++) {
result[i] = new int[m];
for (int j=0; j<result[i].length; j++) {
result[i][j] = arg[lastselectedindex[j]];
}
//添え字の更新
int targetj = lastselectedindex.length-1;
while (0 <= targetj) {
lastselectedindex[targetj]++;
if (lastselectedindex[targetj] + (lastselectedindex.length - targetj - 1) >= arg.length) {
targetj--;
} else {
int s = lastselectedindex[targetj] + 1;
for (int k=targetj+1; k<lastselectedindex.length; k++) {
lastselectedindex[k] = s;
s++;
}
break;
}
}
}
return result;
}
}
クソ汚い。人間が手書きでやるときと同じような方法。
同じ再帰なしでも、もう少しマシな方法がありそうだ。
0759デフォルトの名無しさん
NGNG「M. Beeler, R.W.Gosper, and R.Schroeppelの解法」 というのが奥村晴彦
の「C言語によるアルゴリズム辞典」に載ってる。
このアルゴリズムは、整数型の各ビットパターンを順に、各配列要素に対応したbool値とみなして、
順次ビットパターンを生成するというもの。
あるパターンの次のパターンは、かなり技巧的な整数演算で作り出している。
unsigned int next(unsigned int x){
unsigned int smallest, ripple, new_smallest, ones;
smalllest = x & -x;
ripple = smallest & -smallest;
new _smallest = ripple & -ripple;
ones = ((new_smallest / smallest) >> 1) -1;
return ripple | ones;
}
これをそのままJavaでやってもできるけど、制限として、intのピットサイズが、処理可能な配列要素数の
上限となる。long なら上限は増えるが、根本的な解決にはならない。
あるいはこれのアレンジで、任意サイズの配列に対応したものもできなくはないが、メンドクセ。
0760デフォルトの名無しさん
NGNG以下は再帰の例。main は同じ。これは import java.util.*; 要る。
public static int[][] comb(int[] arg, int m) {
int[] array = new int[m];
List list = new ArrayList();
saiki(list, arg, 0, array, 0);
int[][] result = new int[list.size()][];
int i = 0;
for (Iterator it=list.iterator(); it.hasNext(); ) {
result[i] = (int[])it.next();
i++;
}
return result;
}
public static void saiki(List list, int[] arg, int offset, int[] array, int j) {
for (int i=offset; i<arg.length; i++) {
array[j] = arg[i];
if (j == array.length-1) {
list.add((int[])array.clone());
} else {
saiki(list, arg, i+1, array, j+1);
}
}
}
配列ばかりで美しくないけど、こんなもんでしょう。
>>759 なんか似たようなのを見たことあるな。
そういうの考えつく人ってのはえらいなぁ。
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGでも情報工学ばっかりやってられないだろうから、
基礎が抜けて、結局技術者的にはカタワな育ち方すると思う。
大学あたりでのオプション能力としてしか役に立つまい。
それだってやらないよりはマシだけどね。
0765デフォルトの名無しさん
NGNG受験とは違う学校独自の授業?
しかし中学でJavaか・・・
実はなんちゃって中学生?
俺の中学時代は勉強よりも部活に燃えてたな・・・
0766デフォルトの名無しさん
NGNG0767714
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG純粋にアルゴリズムの問題。
知識あり(ほとんど定型だから、探せばいくらも既存のあり)、
工夫あり(自分で制限つけてやるもよし)、
楽しい。
0770デフォルトの名無しさん
NGNGどうも俺はそのへんを図る能力にかけているらしい。
0771ビットフラグのセンでベタに書いてみた
NGNGimport java.util.*;
public class BitTest {
public static void main(String[] args) {
ArrayList l = getSubValueList(new int[]{0,1,2,3,4,5,6,7,8,9},3);
}
public static ArrayList getSubValueList(int[] values,int k){
ArrayList l = new ArrayList();
double n = Math.pow(2,values.length);
for(long i = 0;i < n ; i++){
if(bitcount(i) == k){l.add(getSubArray(values,k,i));}
}
return l;
}
public static int bitcount(long value){
int count = 0;
for(long bit = 1;bit < value ;bit = bit << 1){
if((value & bit) == bit)count++;
}
return count;
}
public static int[] getSubArray(int[] target,int size,long bitset){
int[] ret = new int[size]; long bit = 1;
for(int i = 0,n=0;n < ret.length ;bit = bit << 1,i++){
if((bitset & bit) == bit){ret[n]=target[i];n++;}
}
return ret;
}
}
0772771
NGNGがあれば、可変長の処理できそうだね。
0773759
NGNGunsigned int next(unsigned int x){
unsigned int smallest, ripple, new_smallest, ones;
smalllest = x & -x;
ripple = x + smallest;
new _smallest = ripple & -ripple;
ones = ((new_smallest / smallest) >> 1) -1;
return ripple | ones;
}
0774759
NGNG×new _smallest
○new_smallest
スマソ
0775中2
NGNG再帰がどうもわからなくて、ここの模範解答を見ながらやりましたら
ようやくできました。
更に3時間かかりました。
面白いという反応があったので
夏休み用の宿題があるんですが、ここに載せましょうか?
まだ私は見ていないのですが・・・
077730過ぎのオヤジ
NGNG0778中2
NGNGPoint[] maze(int[][] map)
です。
class Point{
public int x,y;
public Point(int x,int y){
this.x=x;this.y=y;
}
public String toString(){
return "["+x+","+y+]";
}
}
引数mapは2次元配列で壁だったら1で、通路だったら0です。
maze関数は最短経路を返します。
迷路を作るGUIのプログラムが配られるみたいですが、
まだホームページからダウンロードできません。
0779中2
NGNG教科書の最後に載ってます。
0780デフォルトの名無しさん
NGNGいや深い意味は無いがw
0781デフォルトの名無しさん
NGNGそれって上の組み合わせの問題より簡単じゃないか?
0782デフォルトの名無しさん
NGNG0783中2
NGNG私にはさっぱりなんですが。
最短経路ってどうやって求めるんですか?
x^2+y^2=z^2
みたいなのを計算する?
0784デフォルトの名無しさん
NGNGプログラムでやるんだから、手当たり次第という方法が使えるノデス。
078530過ぎのオヤジ
NGNGよっぽど頭を使うというところが、なんだか情けなくなってきた…orz
0786デフォルトの名無しさん
NGNGこんなアナログな解決法だと笑われちまうかなw
0787中2
NGNGスタートは左上[0,0]でゴールは右下[n,m]です。
0788デフォルトの名無しさん
NGNGあとは「輪状に繋がっている場所に踏み込むとあぼんする」からここはもう来たといマッピングも必要かな。
0789デフォルトの名無しさん
NGNG2.ゴールにたどり着く経路だけを取り出して、その中で一番短い経路を返却
ってとこかな。ココにコード書こうとすると1レスじゃすまないな。
0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNGまったく違うw
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGこれができない本職プログラマーは多いだろう。
7割くらいができないとみた。
0794デフォルトの名無しさん
NGNGんなバカな。多くて2割でしょ。
0795デフォルトの名無しさん
NGNG再履修確定
0796デフォルトの名無しさん
NGNG赤の他人に恨み節ですか。痛いですねあんた。
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNGできない奴は本職といっちゃいけない
タクシーで言えば白タクみたいなもの
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNGどっちでもいいような。
ググレばそこら辺に似たようなのはいっぱいあるけど。
0803デフォルトの名無しさん
NGNGなんで java.awt.Point 使わせないのかね。equals 使えてちょっぴり楽なんだけどな。
0804801
NGNG検索部分だけなら再帰で10数行だしな
0806デフォルトの名無しさん
NGNG来年、頑張りますよ
0807デフォルトの名無しさん
NGNGこのプログラムを改造して、正n角形の全ての頂点を結んでできる図形(ダイアモンドパターン)を描画する
アプレットを書け。(追加・変更部分にはコメントを記述すること)
0808デフォルトの名無しさん
NGNGi の for の一段中に for(j=i+1; j<numPoints; j++) {} 追加
theta2 = Math.PI*2*j/numPoints; に変更
以上
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGimport java.text.SimpleDateFormat;
import java.util.Calendar;
public class Q676 {
public static void main(String[] args) throws IOException {
int y, m, d;
Calendar c = Calendar.getInstance();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("あなたは西暦何年生まれですか?");
y = Integer.parseInt(in.readLine());
for (;;) {
System.out.println("何月ですか?");
m = Integer.parseInt(in.readLine());
if (m >= 1 && m <= 12)
break;
System.out.print("ありえません。");
}
for (;;) {
System.out.println("何日ですか?");
d = Integer.parseInt(in.readLine());
c.set(y, m - 1, d);
if (c.get(Calendar.DAY_OF_MONTH) == d)
break;
System.out.print("ありえません。");
}
SimpleDateFormat sdf = new SimpleDateFormat("あなたはEEEE生まれです。");
System.out.println(sdf.format(c.getTime()));
}
}
適当です、あまり動作チェックしてません。
0811デフォルトの名無しさん
NGNG0812810
NGNG0813811
NGNGString wdnames = "日月火水木金土";
int w = tmp.get(Calendar.DAY_OF_WEEK);
System.out.println("「あなたは" + wdnames.charAt(w) + "曜日生まれです。」");
ところで、「うるう年」がどうしたこうした言ってるってことは、
たぶん Calendar クラスの利用は想定してないってことだ(Calendar 使えば全部やってくれるから)。
365 * y + (y/4) だのなんだのかんだのして %7 してとか、
本当はそんなことをしなきゃならないと思う。
誰かやって。
0814810
NGNGまぁ、それは他の人にやってもらうとして…名無しに戻ります。
0815デフォルトの名無しさん
NGNG私は高1なんですが
ttp://lecture.ecc.u-tokyo.ac.jp/~cichiji/cp-03/cp-03-04-3.html
これの演習ができないです…
回答もどこにもないし 教えてくれませんか?
0816デフォルトの名無しさん
NGNGひょっとしてこれはギャグで言ってるのか?
てか先生のギャグか?
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNGというプログラムを教えてください・・・・
どうか、お願いします・・・
0819デフォルトの名無しさん
NGNG第一段階で10までもとめてるが、かわりにsqrt(n) をカバーすればいいはずだ
0820デフォルトの名無しさん
NGNG100 だの 101 だの 10 を、n だの n + 1 だの (int)Math.sqrt(n) だのに変えればいい。
0821デフォルトの名無しさん
NGNGほとんど答え書いてあるじゃない。
「階乗を求めるプログラム」ちょこっと変えればできるよ。
0822818
NGNG参考にして頑張ってみたいと思います
0823デフォルトの名無しさん
NGNG「イヤミや奴」と。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG音ゲーを作ろうと思ってるんですが全然手が出ません。
誰か簡単でいいので作ってくれませんか?
0826デフォルトの名無しさん
NGNG自由課題で全然手が出ないものを作ろうと思う神経が理解できない。
0827デフォルトの名無しさん
NGNG自分ができる最大限のことをやるのが自由研究じゃないの?
最低合格ラインはこのくらいです、って提示されたら作ってやらないでもないけど。
GUI ありじゃめんどくさくてどうかね。
0828デフォルトの名無しさん
NGNGやねうらおで検索してみろ
0829デフォルトの名無しさん
NGNGフランスパンで笑わせやがって
0830デフォルトの名無しさん
NGNG{
public static void main(String[]args)
{
for(double t = 0; t < 5; t = t + 0.5)
{
double m, c, k, a, v, x;
m = 1;//質量m
c = 0.1;//粘性係数c
k = 1;//バネ係数k
a = 0;//加速度 a
v = 1;//速度 v
x = 0;//距離 x
a = - ( k * x + c * v ) / m;
v = v + a * t;
x = x + v * t;
System.out.println("加速度a=" + a);
System.out.println("速度v=" + v);
System.out.println("距離x=" + x);
}
}
}
aの値にvとxが反映されません(つAT)
どうすりゃいいのか教えてプリーズorz
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833830
NGNG0834デフォルトの名無しさん
NGNGdouble型は小数を扱えるのか?
0835デフォルトの名無しさん
NGNGimport java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
public class Tokei extends Frame {
String formatStr = "HH時:mm分:ss秒";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatStr);
Date date = new Date();
Label display = new Label(simpleDateFormat.format(date));
public static void main(String[] args){
new Tokei();
}
Tokei(){
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){System.exit(0);};
});
java.util.Timer timer = new java.util.Timer();
timer.schedule(new Task(), 0, 500);
add(display);
pack();
setVisible(true);
}
class Task extends java.util.TimerTask {
public void run(){
display.setText(simpleDateFormat.format(new Date()));
}
}
}
0836835
NGNGこれいらなかった。消しといて。
0837835
NGNG0838デフォルトの名無しさん
NGNGただ書いただけではプログラミングはできないよ。どう動くか分析しないと。
ちなみに物理は苦手なのでこれであってるかどうかは分からん
public class Gensui
{
public static void main(String[]args)
{
double m, c, k, a, v, x;
m = 1;//質量m
c = 0.1;//粘性係数c
k = 1;//バネ係数k
a = 0;//加速度 a
v = 1;//速度 v
x = 0;//距離 x
for(double t = 0; t < 5; t = t + 0.5)
{
a = - ( k * x + c * v ) / m;
v = v + a * t;
x = x + v * t;
System.out.println("加速度a=" + a);
System.out.println("速度v=" + v);
System.out.println("距離x=" + x);
}
}
}
for の中に変数の初期設定が入ってるから、まったく同じ計算だけ繰り返してた
0839超初心者
NGNGどなたか教えてください。
0840デフォルトの名無しさん
NGNG>>640 以降
0841初心者
NGNG--------------------------------------------------------------------------------
7/7,7/14 実習: 3Dアプレットを創作しよう! (複数の立体をソリッドモデルで表現、陰影、相貫体なども可)
[課題:] ( 参考 ) 3次元ビュー変換による図形の表現 (提出期限:7/14、PM7:00)。
これができないと、単位を落としてしまいます。お願いできませんか?
0842デフォルトの名無しさん
NGNGって書いてあるだろうが。観念して試験をうけろ。
>>1 も読め。
>ただGUIかんけーはめんどクセーから、放置するぞ!
0843デフォルトの名無しさん
NGNGという意味の課題だろ。それを人にやってもらって提出なんて、分不相応もいいとこ。
0844デフォルトの名無しさん
NGNGこれ読みながらやってみるとか。
0845デフォルトの名無しさん
NGNG知識に乏しかったから、陰影の奴かなりびびった。
でも説明読むとかなり簡単なことを知って、さらに驚いた。
0846デフォルトの名無しさん
NGNGセンスなんだなぁやっぱり。
0847デフォルトの名無しさん
NGNG格安だろ
0848初心者
NGNGすいません。授業も教科書もサッパリで、「作れ」って言われても何もできないんです。
一般教養の授業なんですが、必要な単位なんです。
ですので真剣に取り組んだのですが、本当にさっぱりなんです。
教科書に書いてあることをどう組み合わせるの?という感じです。
>>844
ありがとうございます。参考にさせていただきます。
0849超初心者
NGNGわがまま言って申し訳ありませんが、どなたかよろしくお願いします。
0850デフォルトの名無しさん
NGNGつか、何を使って解けとか、前提条件がないとしんどいと思うんだけど。
マクローリン展開自体は初心者かどうかなんて関係なくて、
数学の知識や理解力があるかによるものだし。
0851デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
int scale_org = 30;
int scale = scale_org + 5;
int a = 5;
int b = 239;
double arc_inv_a = arctanInverseX( a, scale );
double arc_inv_b = arctanInverseX( b, scale );
double pi = (arc_inv_a*4.0 - arc_inv_b)*4.0;
System.out.println(pi);
}
private static int getMaxN(int base, int scale ) {
int i = (int)(scale/Math.log(base) * Math.log(10))+1;
if ( i % 2 != 0 ) {
i++;
}
return (i-1)/2;
}
0852デフォルトの名無しさん
NGNGdouble res = 0.0;
double one = 1.0;
int x = x_org;
boolean sign = false;
int max_n = getMaxN(x_org, scale);
for (int i=0; i<max_n; i++) {
double val = Math.pow(x, 2*i+1);
val = 1.0/val;
val /= 2*i + 1;
if (sign) {
val = -val;
}
res = res += val;
sign = !sign;
}
return res;
}
}
これ以上はまぁ無理だな。
0853デフォルトの名無しさん
NGNG�@
キーボードから、年(西暦)と月を整数で入力すると、
その月のカレンダーを表示するプログラムを作成せよ。
閏年は、
1:西暦の年号が4で割り切れる年は閏年とする
2:4で割り切れる年でも、100で割り切れる年は平年とする
3:100で割り切れる年でも、400で割り切れる年は閏年とする
西暦1年の1月は月曜日から始まる。
0854デフォルトの名無しさん
NGNG自動販売機をシミュレート(模擬)するクラスVendingMachineを
作成しなさい。
お金を入れて、商品を排出する自動販売機をシミュレートする。
シミュレートする機能は、お金の投入、商品の選択、商品とおつりの排出。
また、管理機能として、商品の在庫、自動販売機内の現金が確認できるようにする。
扱う商品は、ジュース(110円)、お茶(150円)、ビール(250円)の三種類。
最初は各商品が10個ずつ入っている。
扱う硬貨は、500円玉、100円玉、10円玉の三種類(50円玉を入れてもよいが、
おつりの計算が少し複雑になる)。最初は、100円玉10枚と、10円玉30枚がおつ
りのために、入っている。つまり、自販機の中の現金は1300円から始まる。
VendingMachinのクラスは極力ブラックボックス化する。
1:まず、「いらっしゃいませ」と表示する。
2:メニューを表示し、お金を入れてもらう。
3:商品が選択されたら、商品とおつりを排出し、自販機の中の状態を更新する。
0855デフォルトの名無しさん
NGNGimport java.io.*;
class kadai11
{
public static void main(String[] args)n
{
VendingMachine vm=new VendingMachine();
for(;;)
{
vm.interact();
}
}
}
class VendingMachine
{
//ここに埋める
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGprivate int val;
private IntStack next;
public IntStack() {
this(0, null);
}
private IntStack(int val, IntStack next) {
this.val = val;
this.next = next;
}
public boolean isEmpty() {
return next == null;
}
public void push(int n) {
IntStack p = new IntStack(val, next);
val =n;
next = p;
}
0858857
NGNGpublic int pop() {
if (isEmpty()) {
System.out.println("Error: stack is empty.");
System.exit(1);
}
int result = val;
val = next.val;
next = next.next;
return result;
}
public String toString() {
return "[" + toString(0) + "]";
}
private String toString(int n) {
if (isEmpty()) {
return "";
} else if (n == 0) {
return val + next.toString(1);
} else {
return "," + val + next.toString(1);
}
}
}
0859857
NGNG1)IntStack をスーパークラスとして,次のメソッドを追加したクラス
NthStack を定義せよ.
public int nth(int index)
機能:スタックの上から index 番目(一番上は 0 番目とする)の値を返す.index 番目の値が存在しない場合は,プログラムを強制終了する.
返却値:スタックの上から index 番目の値.
2)Intstackの実装方法を配列を用いたものに変更せよ.
それにともなって,NthStackの定義を変更する必要があるだろうか?
変更する必要があるのならば,NthStackの定義を変更せよ.
0860857
NGNGclass IntStack2 {
protected int val;
protected IntStack2 next;
// 後は,IntStackクラスと同様なので省略.
}
1)IntStack2 をスーパークラスとして,次のメソッドを追加したクラス NthStack2 を定義せよ.
public int nth(int index)
機能:スタックの上から index 番目(一番上は 0 番目とする)の値を返す.
index 番目の値が存在しない場合は,プログラムを強制終了する.
返却値:スタックの上から index 番目の値
0861857
NGNGそれにともなって,NthStack2の定義を変更する必要があるだろうか?
変更する必要があるのならば,NthStack2の定義を変更せよ.
以上のを誰かお願いします。
0862デフォルトの名無しさん
NGNGその問題の作者に、お前は馬鹿かといってやれ。
0863デフォルトの名無しさん
NGNG特に >>861 の設問は頭おかしい。
全体的に、バカがバカを産む最悪の設問だ。
1) 再帰型
public int nth(int index) {
if (index == 0) {
return val;
} else if ((index > 0) && (next != null)) {
return next.nth(index-1);
} else {
System.exit(-1); //ふつー例外だろ
}
}
1) while 型
public int nth(int index) {
IntStack tmp = this;
while ((tmp != null) && (index >= 0)) {
if (index == 0) {
return tmp.val;
} else {
index--;
tmp = tmp.next;
}
}
System.exit(-1); //ふつー例外だろ
}
0864デフォルトの名無しさん
NGNGprivate static final int UNIT = 100;
private int[] array;
private int size;
public IntStack() {
array = new int[UNIT];
size = 0;
}
public boolean isEmpty() {
return (size == 0);
}
public void push(int n) {
if (size == array.length) {
//初心者向けに、原始的方法でのコピーにしておく
int[] array2 = new int[size+UNIT];
for (int i=0; i<size; i++) {
array2[i] = array[0];
}
array = array2;
}
array[size] = n;
size++;
}
public int pop() {
if (isEmpty()) {
System.out.println("Error: stack is empty.");
System.exit(1); //ふつー例外だろうが
}
size--;
return array[size];
}
0865デフォルトの名無しさん
NGNGString line = "";
for (int i=0; i<size; i++) {
if (i == 0) {
line += array[i];
} else {
line += "," + array[i];
}
}
return "[" + line + "]";
}
//不要。実装せんでいい
//private String toString(int n) {
//}
}
2) はここまで。UNIT の宣言消して、
各メソッドで UNIT になってるとこ 100 にでもしとけばなお初心者的。
>>860 は、フィールドも IntStack2 になっちまってるから、
コンストラクタから何から全部書き換えなきゃならない。ちょっと待ってて。
>>861 はもう、やることは同じ。
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNGclass NthStack extends IntStack {
public int nth(int index) {
if (index < 0) {
//あと exit 後は return つけなきゃだめなんだねそりゃそうだ
System.exit(-1);
return -1;
} else {
//フィールドは private なので >>863 みたいなことはできない
int tmp = pop();
int result;
if (index != 0) {
result = nth(index-1);
} else {
result = tmp;
}
push(tmp);
return result;
}
}
}
>>865 の if のところは
if (i == 0) {
line += array[i];
} else {
line = array[i] + "," + line;
}
こう替えて。また、NthStack の実装方法変更の必要はなさそうだ。
0868デフォルトの名無しさん
NGNGclass NthStack2 extends IntStack2 {
public int nth(int index) {
IntStack2 tmp = this;
while ((tmp != null) && (index >= 0)) {
if (index == 0) {
return tmp.val;
} else {
index--;
tmp = tmp.next;
}
}
System.exit(-1); //ふつー例外だろ
return -1;
}
}
ただしこれをやると、実装が配列になったとき困るので、
結局はじめから >>867 と同じ実装にした方がいいのではないか。
問題としてこういうのはどうだろう。
あんまり検証してない。まだ勘違いしてるかも。
へんなとことかエレガントな方法があったら、諸兄らにお願いしたい。
0869857
NGNG末尾に対する挿入と削除が(多くの場合)一定の時間で行われるようなデータ構造
(MyVector というクラス名にする)を定義せよ.
ただし,このクラスは,次のメソッドを持ち,更に,Object クラスで定義されたメソッドのうち,
equals メソッド,hashCode メソッド,及び toString メソッドを書き換えること.
public MyVector()
意味:ある定められた容量(たとえば10)の MyVector オブジェクトを生成するコンストラクタ.
public MyVector(int capacity)
意味:capacity で指定された容量の MyVector オブジェクトを生成するコンストラクタ.
public void add(Object obj)
末尾に新しい要素(obj)を追加する.容量が足りない場合は,容量を増やす(例えば,2倍にする).
public Object delete()
末尾の要素を削除し,削除した要素を返却値として返す.
public void set(int index, Object obj)
index 番目の要素(先頭は0番目)に,objを代入する.
pubic get(int index)
index 番目の要素を返す.
public int size()
現在の要素数を返す.
public int capacity()
現在の容量を返す.
MyVectorクラスは,配列を使ったスタックのような形で定義すれば良い.ただし要素が満杯になったら,
より大きい配列を生成し,現在格納しているデータは,新しい配列に移すことが必要になる.
この処理は(要素数が多くなると)かなり時間がかかるので,配列の大きさを2倍にしていくのが良いだろう.
0870857
NGNGequals メソッド,hashCode メソッド,及び toString メソッドを書き換えることについて。
public int hashCode() {
if (isEmpty()) {
return 0; // 空の場合は0を返す.
} else {
return stack.obj.hashCode(); // 先頭要素のhashCode()
}
}
public boolean equals(Object obj)
equals メソッドは,二つのオブジェクトが「等しい」かどうかを判断し,
等しければ true を,そうでなければ false を返す.例えば,
二つの文字列オブジェクトが等しいかどうか調べるには,次のようにすればよい.
String a, b;
...
if (a.equals(b)) {
...
}
こういう感じでつくれということなのでしょうが・・・正直よくわかりません。
お願いします。
0871デフォルトの名無しさん
NGNG任意の人数分の点数を入力させて昇順に並べかえ、
合計、平均(小数点第一位)、レンジ(最大値−最小値)、中央値
をそれぞれ出力する。以下のコーディングを参考にするらしい
import java.io.*;
class sort{ public static void main(String args[]) throws IOException
{ System.out.println("受験者数を入力してください");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int num = Integer.parseInt(str);
int tbl[] = new int[num];
System.out.println(tbl.length + "人の点数を入力してください");
for(int i=0; i<tbl.length; i++){
str = br.readLine(); tbl[i] = Integer.parseInt(str);
} for(int n=num-1; n>0; n--){ for(int i=0; i<n; i++){
if(tbl[i] > tbl[i+1]){ int save = tbl[i];
tbl[i] = tbl[i+1]; tbl[i+1] = save; }}}
for(int i=0; i<tbl.length; i++){ System.out.println((i+1) + "番目の人の点数は" + tbl[i] + "です");
}}}
0872デフォルトの名無しさん
NGNG小学生の僕でもわかりそうなもんだが
0873デフォルトの名無しさん
NGNG根のみが走査されて子をいっさい走査してくれない状態です。
ndが木で、nd.infoが木の内容でそれをtargetと比べるようにしたつもりです。
が、実際は根以外は発見されてもtrueを返してくれない状態です。
static boolean find(Node nd, char target){
boolean result = false;
if (nd != null) {
if (nd.info == target) {
System.out.println(nd.info + " " + "発見しました");
result = true;
}
find(nd.l,target);
if (nd.info == target) {
System.out.println(nd.info + " " + "発見しました");
result = true;
}
find(nd.r,target);
if (nd.info == target) {
System.out.println(nd.info + " " + "発見しました");
result = true;
}
if (nd.info != target) {
System.out.println(target + "は発見できませんでした");
result = false;
}
}
return result;
}
0874デフォルトの名無しさん
NGNGstatic boolean find(Node nd, char target){
boolean result = false;
if (nd != null) {
if (nd.info == target) {
System.out.println(nd.info + " " + "発見しました");
result = true;
} else {
System.out.println(target + "は発見できませんでした");
}
return find(nd.l,target) | find(nd.r,target) | result;
}
System.out.println(target + "は発見できませんでした");
return false;
}
0876873
NGNGありがとうございます。
プログラムのほうきちんと動作しました。
ひとつ質問なのですが、
return find(nd.l,target) | find(nd.r,target) | result;
はどういった文の書き方なのでしょうか?
returnとしてこのような書き方は初めて見ましたので、
どのような働きをさせるのか教えていただけると嬉しいです。
0877デフォルトの名無しさん
NGNG論理和
一つ以上trueならtrue、全てfalseならfalseを返す。
0878873
NGNGはfind(nd.l,target)かfind(nd.r,target)どちらかが真であればtrueをresultに返すという解釈でいいのでしょうか。
>>877
ありがとうございます。
これをもっと簡単な文法へ書き直すことはできるのでしょうか…?
0879デフォルトの名無しさん
NGNGboolean bFindL = find(nd.l,target);
boolean bFindR = find(nd.r,target);
return (bFindL | bFinfR | result);
0881デフォルトの名無しさん
NGNGimport java.io.*;
import java.util.*;
import java.text.*;
class sort{
public static void main(String args[]) throws IOException{
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(1);
nf.setMaximumFractionDigits(1);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("受験者数を入力してください");
int num = Integer.parseInt(br.readLine());
int tbl[] = new int[num];
System.out.println(num + "人の点数を入力してください");
int sum=0;
for(int i=0;i<num; i++){
tbl[i] = Integer.parseInt(br.readLine());
sum+=tbl[i];
}
Arrays.sort(tbl);
System.out.println("sum:"+sum);
System.out.println("ave:"+nf.format((double)sum/(double)num));
System.out.println("max:"+tbl[num-1]);
System.out.println("min:"+tbl[0]);
System.out.println("med:"+tbl[num/2]);
}
}
0882881
NGNG数値読み込みのエラー処理が欠けていたのと
中央値の定義が適切じゃ無かったよ。
ここにあげておいたので、こっちを使ってください。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=239
ただ、微妙に技巧的な部分があるので、
提出前にそこら辺を理解して教師の質問に耐えれるようにしないと、
このソースをそのまま提出するのはちょっと危険かもしれない。
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNGあいうえお、かきくけこ、さしすせそ、なにぬねの・・・(以下続く)
という文字列をあ行から順に抽出するという課題なんですが、
よくわかりません。
それぞれを区切っている「、」をポイントにしてsubstringを使って
あいうえお
かきくけこ
さしすせそ
なにぬねの
といった具合に表示させるんですがどうしたらいいでしょうか??
0885デフォルトの名無しさん
NGNGpublic static void main(String[] args){
String input="あいうえお、かきくけこ、さしすせそ、たちつてと、なにぬねの、はひふへほ、まみむめも、やいゆえよ、らりるれろ、わいうえを、ん";
while(true){
int index=input.indexOf("、");
if(index<0)break;
System.out.println(input.substring(0,index));
input=input.substring(index+1);
}
System.out.println(input);
}
}
0886884
NGNG早い対応、ありがとうございます。
初心者なので考え方のきっかけがつかめなくて
困っていたのでとても助かります。
自分なりにソースの内容をしっかり理解したいと思います。
ありがとうございました。
0887デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=240
0888デフォルトの名無しさん
NGNGclass MyVector {
private Object[] array;
private int size;
public MyVector() {
this(100);
}
public MyVector(int capacity) {
array = new Object[capacity]; size = 0;
}
public void add(Object obj) {
if (size == array.length) {
Object[] array2 = new Object[size*2];
for (int i=0; i<size; i++) array2[i] = array[i];
array = array2;
}
array[size] = obj; size++;
}
public void set(int index, Object obj) {
array[index] = obj; //範囲外のときどうするのか? 仕様が無い
}
public Object get(int index) {
return array[index]; //範囲外のときどうするのか? 仕様が無い
}
public int size() {
return size;
}
public int capacity() {
return array.length;
}
}
>>870 はようわからん。突然出てきた stack という変数はなんじゃ?
0889デフォルトの名無しさん
NGNG★ not 100 ★
先行:0,後攻:1,どちらかを選択してください.
2
0か1を入力して下さい!!(番兵処理です)
1
では,ゲームを開始します!
COM:1
COM:2
あなたの番です.幾つ数字を進めますか?1〜3の数字を入力してください.
1 (ここでも番兵処理をお忘れなく)
YOU:3
・
・
YOU:100
あなたは負けました.残念!!
今回は,負けの数値は100,選択できる数値は1〜3に固定しました。
これらの数値をオプションで自由自在に設定可能にすれば,汎用性も高まり,
非常に楽しくなりますね。また、今回はコンピュータ対人間の一対一での対戦に限定してます。
プレーヤの数を自由自在に設定可能にするのも面白いのではないでしょうか。
0890デフォルトの名無しさん
NGNG円周率πを求めるプログラムPaiPai.javaを作成せよ。
・乱数生成は、Math.random()を使用すること
・実行は、「java PaiPai 100」のようにコマンドラインから引数として乱数の発生組数を入力するものとする
・一組の乱数を発生させ、その結果、円の中に入ってる場合は、trueを、そうでない場合はfalseを返すメソッド
randomCheck()を作成して、しようすること
ヒント:原点を中心とした半径1の円の第一象限を考える。X座標とY座標を0から1の間の乱数を使って決定する。
円内に入っている確率はπ/4。Math.random()は0以上1未満のdouble型を返すので、1を含まないが上記計算上は、
1を含まないことによる誤差を無視してよいとする。
どうか、おねがいします・・・・・・・・・・
さっぱり分かりませぬ・・・・・・・・
0891デフォルトの名無しさん
NGNG適当です、これで良いのかどうかは知らん。
public class PaiPai {
public static void main(String[] args) {
int loop = Integer.parseInt(args[0]);
int chk=0;
for(int i=0; i<loop; i++) {
if(randomCheck())
chk++;
}
double pi = chk*4d/loop;
System.out.println(pi);
}
static boolean randomCheck() {
double x = Math.random();
double y = Math.random();
return (x*x+y*y<1);
}
}
0892デフォルトの名無しさん
NGNGpublic class PaiPai {
public static void main(String[] args) {
long loop = 1000000l;
if ( args.length > 0 ) {
loop = Long.parseLong( args[0] );
}
try {
PaiPai pai = new PaiPai();
pai.execute( loop );
} catch (Exception e) {
e.printStackTrace();
}
}
public void execute( long loop ) throws Exception {
long count = 0;
for ( long i = 0; i < loop; i++ ) {
double x = Math.random();
double y = Math.random();
if ( checkRandom( x, y ) ) {
count++;
}
}
System.out.println( (double)count/(double)loop * 4d );
}
private static boolean checkRandom( double x, double y ) {
return Math.sqrt( x * x + y * y ) <= 1d;
}
}
0893デフォルトの名無しさん
NGNG08941/3だわさ
NGNG作ったけど無駄に長い気がするわさ〜
import java.io.*;
public class Q889 {
public static void main(String[] args) {
Q889 q = new Q889(100, 3);
q.execute();
}
BufferedReader in;
int n, t, x, y; // 現在,手番,目標,最大
Q889(int x, int y) {
this.x = x;
this.y = y;
in = new BufferedReader(new InputStreamReader(System.in));
}
boolean add(int p) {
n += p--;
for (int i = n - p; i <= n; i++) {
System.out.print(t == 0 ? "YOU" : "COM");
System.out.println(":" + i);
if (i == x)
return false;
}
return true;
}
08952/3だわさ
NGNGdo {
System.out.println("★ not " + x + " ★");
t = selectTurn();
n = 0;
while (add(t == 0 ? selectNumber() : thinkCom()))
t ^= 1;
if (t == 0)
System.out.println("残念、あなたの負けです。");
else
System.out.println("おめでとう!あなたの勝ちです!");
}
while (selectAgain());
System.out.println("またあそんでね。(^^)ノ~~");
}
boolean selectAgain() {
System.out.println("もう一度遊びますか?(Y/N)");
for (;;) {
try {
String s = in.readLine();
if (s.equalsIgnoreCase("y"))
return true;
else if (s.equalsIgnoreCase("n"))
return false;
}
catch (NumberFormatException e) {}
catch (IOException e) {}
System.out.println("YかNを入力してください。");
}
}
08963/3だわさ
NGNGSystem.out.print("あなたの番です.幾つ数字を進めますか?");
for (;;) {
System.out.println("1〜" + y + "の数字を入力してください。");
try {
int i = Integer.parseInt(in.readLine());
if (1 <= i && i <= y)
return i;
}
catch (Exception e) {}
}
}
int selectTurn() {
System.out.println("先行:0,後攻:1,どちらかを選択してください。");
for (;;) {
try {
int i = Integer.parseInt(in.readLine());
if (i == 0 || i == 1)
return i;
}
catch (NumberFormatException e) {}
catch (IOException e) {}
System.out.println("0か1を入力して下さい!!");
}
}
int thinkCom() {
int i = ((x - n - 1) % (1 + y));
if (i == 0)
i = (int) (Math.random() * 3 + 1);
return i;
}
}
0897デフォルトの名無しさん
NGNGint gcd(int a,int b){
while(true){
if(a%b==0)return(b);
a%=b;
if(b%a==0)return(a);
b%=a;
}
}
0898デフォルトの名無しさん
NGNGもしかしてこっち?
int commondivede(int a,int b){
for(int i=1;i<=Math.min(a,b);i++){
if(a%i==0&&b%i==0){
System.out.println(""+i);
}
}
}
0899デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=241
ゲームの設定を変えるためにはコンパイルが必要なのは問題かもしれないけど、
可能な拡張が全て入ってます。
ついでに
Dynamic Programming を使ってCPU 側が必ず勝利するルートに入ったら、
必ず CPU 側が勝利するように作ってあります。
別の課題?
これでゲームをするともてあそばれているのが分かるよw。
0900899
NGNG訂正です
static void makestrategy(boolean[][] list){
for(int j=0;j<MEMBER;j++){
list[j][LOSENUMBER-1]=!CPUTURN[j];
}
for(int i=LOSENUMBER-2;i>=0;i--){
for(int j=0;j<MEMBER;j++){
int after=(j<MEMBER-1) ? (j+1) : 0;
if(CPUTURN[j]){//or
list[j][i]=false;
for(int k=i+1;k<=Math.min(i+MAXVALUE[j],LOSENUMBER-1);k++){
if(list[after][k]){
list[j][i]=true;
break;
}
}
}
else{//and
list[j][i]=true;
for(int k=i+1;k<=Math.min(i+MAXVALUE[j],LOSENUMBER-1);k++){
if(!list[after][k]){
list[j][i]=false;
break;
}
}
}
}
}
}
0901デフォルトの名無しさん
NGNG例外の throws や catch による処理が要求されない。
一方、それ以外:Exception と その派生クラスでは例外の処理が
要求される。
なぜ、一方では処理が不必要とされ一方では要求されるのか。
お願いします。
0902デフォルトの名無しさん
NGNGhttp://www.y-adagio.com/public/standards/tr_javalang/11.doc.htm
簡単に言うと、起きてしまったらどうしようも無いものを、
Error や RuntimeException を継承したもので表すことになってるから。
ただ、それだけでは説明不十分。
RuntimeException は、プログラマが気をつけてれば起きない。
(例えば、将棋盤を表す配列の添え字に 9 を入れる状況を起こすなどのポカ)
組み方次第で絶対起きない様にできるものを、
いちいち catch させるようコンパイラが強制する必要は無い。
Error は、VM 自体の問題であることが多い。
プログラマにも予測不可能だし、異常な状態になっていることもあり、
VM 内のプログラマをどういじくっても回避できないことにもなる。
あらゆる場所で起こりうるものなので、いちいち catch させない。
0903デフォルトの名無しさん
NGNGどうもありがと。
自分も読んでみます。
0904デフォルトの名無しさん
NGNG4ケタの数字当てゲームです。4つの数字に同じ数字はありません。
入力した4ケタの数字のうち、ケタ(場所)があっていると1ヒットなり、画面に1 HITと表示されます。
場所はあっていないけれど、使われている4つの数字があっていれば、1ブローとなり画面に1 BLOWと表示されます。
例えば、正解1234に対して、0431と入力すると、3がHITで1がブローとなり、画面に1HIT 1BLOWと表示されます。
これを繰り返して、もとの4ケタの数字を当ててください。
正解の数字は、乱数に従って、コンピュータが毎回任意に決定します。
★ヒット・アンド・ブローゲーム★
何人でプレーしますか?
2
1番目のプレーヤーのお名前を入力してください。
あいうえお
2番目のプレーヤーのお名前を入力してください。
かきくけこ
では、ゲームを開始します。
あいうえおさんの1回目:4ケタの数値を入力してください。
0123
1ヒット0ブローです。
0905デフォルトの名無しさん
NGNG7425
2ヒット0ブローです。
あいうえおさんの3回目:4ケタの数値を入力してください。
7406
1ヒット2ブローです。
あいうえおさんの4回目:4ケタの数値を入力してください。
7365
2ヒット0ブローです。
あいうえおさんの5回目:4ケタの数値を入力してください。
7095
1ヒット1ブローです。
あいうえおさんの6回目:4ケタの数値を入力してください。
7608
0ヒット2ブローです。
0906デフォルトの名無しさん
NGNG4065
2ヒット2ブローです。
あいうえおさんの8回目:4ケタの数値を入力してください。
4056
0ヒット4ブローです。
あいうえおさんの9回目:4ケタの数値を入力してください。
0465
正解です!あいうえおさんの記録は9回です!
かきくけこさんの1回目:4ケタの数値を入力してください。
・
・
正解です!かきくけこさんの記録は8回です!
あいうえおさん:9回
かきくけこさん:8回
従って、この勝負はかきくけこさんの勝利です。
かきくけこさん、おめでとうございます!
0907デフォルトの名無しさん
NGNGimport java.util.*;
public class Q904 {
public static void main(String[] args) {
try {
new Q904().playAll();
} catch (IOException ex) {
ex.printStackTrace();
}
}
private void playAll() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("★ヒット・アンド・ブローゲーム★");
System.out.println("何人でプレーしますか?");
int count = Integer.parseInt(br.readLine());
String[] players = new String[count];
for (int i=0; i<players.length; i++) {
System.out.println((i + 1)+ "番目のプレーヤーのお名前を入力してください。");
players[i] = br.readLine();
}
0908デフォルトの名無しさん
NGNGint[] scores = new int[players.length];
for (int i=0; i<players.length; i++) {
scores[i] = play(players[i], br);
}
int winner = 0;
for (int i=0; i<players.length; i++) {
System.out.println(players[i] + "さん:" + scores[i] + "回");
if (scores[i] < scores[winner]) {
winner = i;
}
}
System.out.println("従って、この勝負は" + players[winner] + "さんの勝利です。");
System.out.println(players[winner] + "さん、おめでとうございます!");
}
0909デフォルトの名無しさん
NGNGRandom rnd = new Random();
String answer = "";
boolean checks[] = new boolean[10];
for (int i=0; i<10; i++) {
checks[i] = false;
}
for (int i=0; i<4; i++) {
int num;
do {
num = rnd.nextInt(10);
} while (checks[num]);
answer += "" + num;
checks[num] = true;
}
String ask = "";
int count = 1;
while (! answer.equals(ask)) {
ask = null;
do {
if (ask != null) {
System.out.println("4ケタの数値を入力してください。");
}
System.out.println(player + "さんの" + count + "回目:4ケタの数値を入力してください。");
ask = br.readLine();
} while (ask.length() != 4);
0910デフォルトの名無しさん
NGNGfor (int i=0; i<4; i++) {
for (int j=0; j<4; j++) {
if (ask.charAt(i) == answer.charAt(j)) {
if (i == j) {
hit++;
} else {
blow++;
}
}
}
}
if (hit < 4) {
count++;
System.out.println(hit + " ヒット " + blow + " ブローです");
}
}
System.out.println("正解です!あいうえおさんの記録は" + count + "回です!");
return count;
}
}
入力チェック甘し。回答入力のダブりチェックもしてない。60点のでき。
0911デフォルトの名無しさん
NGNGおつかれさまです。
でも自分がやりたかったことは、
おまけで対 CPU の試行ルーチンをつくって、
どのくらい強くなるかを試したかったので、
私もこのソースを借用させていただきます。
0912デフォルトの名無しさん
NGNGお先しました。
あなたの作ったのに負ける自信有り。苦手だから 25回とか30回とか頻出。
テストするのめんどいめんどい(答え表示しとけつーの)
成績ドローだとどうすればいいのかな? 日和ってしまったけど。
入力チェックは例外処理も多くなるし、初心者的には不問でいいのかな。
0913デフォルトの名無しさん
NGNGものであるが、誤りが2箇所ある。
public class Test {
private static Test test;
public Test() {
}
public Test getInstance() {
if( test == null ) {
test = new Test();
}
return test;
}
}
説明もお願いします。
0914デフォルトの名無しさん
NGNG1. コンストラクタがpublicなのでいくつでもインスタンスが生成できてしまう
2. getInstanceメソッドがstaticでないので、インスタンスがないと呼び出せない
0915デフォルトの名無しさん
NGNGありがとう。
0916デフォルトの名無しさん
NGNGclass A {
char x = 'A';
void whoami() {
System.out.println("A");
}
}
class Test extends A {
char x = 'T';
void whoami() {
System.out.println("Test");
}
public static void main( String[] args ) {
A a = new Test();
a.whoami();
System.out.println( a.x );
}
}
0917デフォルトの名無しさん
NGNG実行すりゃすぐわかる。
どうしてここで聞くのかがわからん。
0918911
NGNGどうも最強 CPU です。
ヒットアンドブローを平均 6 手位で解きます。
class CPU を追加しました、class Q904 はほとんど弄っていません。
遊んでみると楽しいですよ。
0919デフォルトの名無しさん
NGNGその通りでした
0920デフォルトの名無しさん
NGNG}
class B extends A {
}
で、エラーになるのはどっち?でエラーになる理由と
エラーにならない理由は?
(1) A a = new B();
(2) B b = new A();
0921デフォルトの名無しさん
NGNG今GUIパーツを用いるクイズゲームのアプレットを作っているんですけど、
ONボタンが押されたら
ユーザーの答えが現在の問題の答えと合っているかどうかを調べる
正解だったら
画像を表示するフラグをtrueにする
正解画像の番号を指定する
というプログラムをかくにはどうすればいいんでしょうか?
ちなみに答えはチョイスボタンから選択し、OKボタンを押すと回答が表示されるようにしたいのですが。
0922デフォルトの名無しさん
NGNGttp://black.sakura.ne.jp/~third/system/java/Gjava20.html
とりあえず、ここらへんが参考になると思う
これに書き足して作ってみては。
0923デフォルトの名無しさん
NGNG実はもう一個誤りがあったり。。。
3. getInstanceで同期とってないのでタイミングによっては複数インスタンスが作れる
0924デフォルトの名無しさん
NGNGどうも921です。でもなんかそのサイトにアクセスできない...。
時間もあまりないので誰か教えて下さい。
お願いします。
0925デフォルトの名無しさん
NGNG0926921
NGNGできたら上の部分のプログラムだけでも実際に書いて貰えるとかなり
助かります。ほんと申し訳ないです。
0927初心者
NGNGにおいて、ソースをコンパイルするとエラーが出るのですが、解決の方法をどなたか教えていただけないでしょうか?
0928デフォルトの名無しさん
NGNGどんなエラーかくらい書けや
0929初心者
NGNG8行目と223行目で、
クラス:ViewPort
場所:Gateのクラス
で、両方ともViewPortの「V」のところにチェックが付いています。
0930初心者
NGNG誤)クラス:ViewPort
正)シンボル:クラス ViewPort
です。助けて下さい・・・
0931デフォルトの名無しさん
NGNG動かすだけでよいのならViewPort.classをもらってくれば?
0932デフォルトの名無しさん
NGNGシンボルを解決してみ
0933デフォルトの名無しさん
NGNG同期をとるとはなんでしょうか?
0934デフォルトの名無しさん
NGNGメソッドにsynchronizedを付けるがいい
0935デフォルトの名無しさん
NGNG今君の書いてるプログラムにあわせたものでないと
何の参考にもならんと思う
0936プログラミング大好き
NGNG円周率πを求めるプログラムPaiPai.javaを作成せよ。
ってヤツだけどさ、(x,y)の点を表示させて、その点が、円の範囲内に入ればいいんじゃないの??
学校の課題かな?
ちょっと、プログラム組んでみようか??
0937デフォルトの名無しさん
NGNG0938親切大好き
NGNG>>891 >>892で解決済み
今後のために注意を上げておくと、
> コマンドラインで指定した回数だけ、2つの乱数の組x、yを発生させ、その乱数を元に
> 円周率πを求めるプログラムPaiPai.javaを作成せよ。
>>890と書くと親切
> ってヤツだけどさ、(x,y)の点を表示させて、その点が、円の範囲内に入ればいいんじゃないの??
モンテカルロ法といえば一言で済む
> 学校の課題かな?
スレタイ読め
> ちょっと、プログラム組んでみようか??
最初からこれを貼る
0939デフォルトの名無しさん
NGNGその合計を表示するプログラムを「while」使ってお願いします
0940デフォルトの名無しさん
NGNGプログラムはどうしたらよいのでしょう?
0941デフォルトの名無しさん
NGNGint i = 0, sum = 0;
while (i < 8) {
sum += //読み込む、とは? 何から読み込むの?
i++;
}
System.out.println("合計:" + sum);
0942939
NGNG例えば
3
3
3
4
4
4
5
5(と入力したら)
合計は31です
ってなるような感じで
0943デフォルトの名無しさん
NGNGpublic class Summer { //嘘英語
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i = 0, sum = 0;
while (i < 8) {
sum += Integer.parseInt(br.readLine());
i++;
}
System.out.println("合計は" + sum + "です");
} catch (IOException ex) {
}
}
}
0944プログラミング大好き
NGNG> 円周率πを求めるプログラムPaiPai.javaを作成せよ。
>>890
のプログラムだけど、キャンバスは、
class Canvas extends Canvas{
private static int ans;
public void paint (Graphics g){
g.lock();
g.clearRect(0,0,getWidth(),getHeight());
setSoftLabel(Frame.SOFT_KEY_1,"計算");
setSoftLabel(Frame.SOFT_KEY_2,"戻る");
int uti = 0; //円の内側に発生する点の数
int a = 70; //円の半径の設定
g.setOrigin(((getWidth()-a)/2),((getHeight()-a)/2)+a); //座標原点の移動
g.drawRect(0,-a,a,a); //点の発生する四角形の描画
Random r=new Random(); //ランダムの宣言
こんなものでどうだろう??
0945デフォルトの名無しさん
NGNG宿題やってもらうスレ?
宿題やってくださいじゃ相手にされないから
こういうスレタイにしてんの?
0946デフォルトの名無しさん
NGNG答えてるのは全部>>1さんですよ
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGこのプログラムを完成させなさい
public class Factorial {
static int N=10;
public static void main(String args []) {
int factorial =1 ;
for (int i = N; i > ? ; ? ) {
factorial ? i ;
}
System.out.println("Factrial " + N + "! = "+ factorial) ;
}
}
おしえてー
0950デフォルトの名無しさん
NGNG0
i--
*=
0951デフォルトの名無しさん
NGNG*= ってのがあったんですかー
ありがとうございましたー
0952デフォルトの名無しさん
NGNGやってもらってもええですか?
Javaじゃないとだめっすかね・・・
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGなかったですが・・・
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNG(図では、0→2→1→3の経路のコスト20が最小)
なお、各地点間のコストは、cost配列で与えられるものとする。コストは負でないとする
�K
0━━━1
| /|
�G | / |�I←コスト
|/ |
2━━━3
�N
//cost[i][j]はノードi からノードj へのコスト。無限大をMAX_INTで表現
//ノードi からノードi へは移動しないので、移動コスト無限大と仮定。
int[] [] cost = { { MAX_INT 12 ,8 ,MAX_INT} , {12 ,MAX_INT , 2 , 10} ,{ 8 , 2 ,MAX_INT , 15} , {MAX_INT ,10 ,15,MAX_INT} } ;
//計算途中で用いる各ノードまでの旅程(最短経路長)(MAX_INTで初期化)
int [] mincost = {MAX_INT, MAX_INT , MAX_INT , MAX_INT } ;
教えてください、お願いします
0957デフォルトの名無しさん
NGNG�K
0━━━1
| /|
�G | / |�I←コスト
|/ |
2━━━3
�N
0958デフォルトの名無しさん
NGNGttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=249
しかし、MAX_INT とは、
一瞬だけそんな定数があると思ってしまった自分が腹立たしい、
Integer.MAX_VALUE じゃないかよ!!!
まぁ、ダイクストラのアルゴリズムを書かされるということは情報系?
それとも教官の横暴?
教官の横暴ならいいけど、情報系なら・・・・・・。
0959デフォルトの名無しさん
NGNGそれを含めたテストプログラム(多様性テストプログラム のようなもの)を作成せよ.
なお,WebPage クラスにどのような情報を含めるべきかは,各自適切なものを考えよ.
// 多相性テストプログラム
class Test {
public static void main(String[] args) {
Reference[] refs = {
new Book("Thompson", "Haskell", 1999, "Addison"),
new Article("Pachet", "Content Management",
2003, "CACM", 4),
new Book("Ritchey", "Java!", 1995, "New Riders")
};
for (int i = 0; i < refs.length; ++i) {
refs[i].print();
}
}
}
0960デフォルトの名無しさん
NGNGprivate String author; // 著者名
private String title; // 文献タイトル
private int year; // 発行年
// コンストラクタ
public Reference(String author, String title, int year) {
this.author = author;
this.title = title;
this.year = year;
}
// アクセスメソッド
public String getAuthor() { return author; }
public String getTitle() { return title; }
public int getYear() { return year; }
// 表示メソッド
public void print() {
// 「\"」は,文字列リテラル中で二重引用符を表す.
System.out.println(getAuthor() + ":\"" + getTitle()
+ "\", " + getYear());
}
// テスト用メインメソッド
public static void main(String[] args) {
Reference ref = new Reference("Thompson", "Haskell", 1999);
ref.print();
}
}
0961デフォルトの名無しさん
NGNG「最近では,参考文献としてwebページを挙げることも増えてきた.
Reference クラスをスーパークラスとして〜」でした。
お願いします。
0962デフォルトの名無しさん
NGNGimport java.net.*;
public class WebPage extends Reference {
private final URL url;
static private Object getPage( URL url ) {
try{ return url.getContent( ); }
catch( Exception ex ){ return null; }
}
static private String getAuthor( URL url ) {
Object o = getPage( url );
// 略。とってきたページから著者を抽出
}
static private String getTitle( URL url ) {
Object o = getPage( url );
// 略。とってきたページから題名を抽出
}
static private String getYear( URL url ) {
Object o = getPage( url );
// 略。とってきたページから作成年を抽出
}
protected URL getURL() { return url; }
public WebPage( URL url ) {
super( getAuthor(url), getTitle(url), getYear(url) );
this.url = url;
}
public void print( ) { System.out.println(getAuthor() + ":\"" + getTitle() + "\", " + getURL( ) + ", " + getYear()); }
}
0963デフォルトの名無しさん
NGNG・題名は(X)HTMLならtitle要素から取り出せる
・著者/作成年は(X)HTMLならまずmeta要素をチェック
・見つからなければcopyright表記を探してみるべし
・URLで指定されたページが(X)HTMLであるとは限らない点に注意しよう
0964デフォルトの名無しさん
NGNGありがとうございます!
ちなみに情報系です
しかもこれ課題です
ぶっちゃけプログラミング歴3ヶ月の自分にはついていけません・・・
0965デフォルトの名無しさん
NGNG20人の投票者が独立に、両端の人の意見(0 or 1)を聞いて多数に従う。
2人の意見が分かれているときには自分の意見は変えない。
これを5回繰り返す。ただし端は周期的とする。
たとえば最初に
1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0
だとする。一回ごとのこれらの数値の変化を表示せよ。
0966デフォルトの名無しさん
NGNGすいません。お願いします <(_ _)>
0967デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
int[] init = {
1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0
};
print("最初", init);
int[] state = init;
for (int i=0; i<5; i++) {
int[] next = change(state);
print((i + 1) + "回目", next);
state = next;
}
}
private static void print(String name, int[] state) {
System.out.println(name + ":");
for (int i=0; i<state.length; i++) {
System.out.print(state[i]);
if (i + 1 < state.length) {
System.out.print(", ");
}
}
System.out.println();
}
0968デフォルトの名無しさん
NGNGint[] next = new int[state.length];
for (int i=0; i<state.length; i++) {
int j = (i - 1 + state.length)%state.length;
int k = (i + 1)%state.length;
if (state[j] == state[k]) {
next[i] = state[j];
} else {
next[i] = state[i];
}
}
return next;
}
}
次状態を表す配列に、現状態から判断して値を書き込むとこさえうまくやればできる
% なんとかというのは、割り算の余りの処理。環状になってるところを処理するためにやってる
こんなことせずに両端だけ特別な計算をしてもいい
0969デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNGもう少し・・・。
0972デフォルトの名無しさん
NGNG何にしてもこのスレで聞くには少々ヘビィだな
0973デフォルトの名無しさん
NGNGBookみたいに、
同じ引き数取って super コンストラクタ呼んでもいいのかもしれない
0974デフォルトの名無しさん
NGNGキーボードから、年(西暦)と月を整数で入力すると、その月のカレンダーを表示するプログラムを作成せよ。
閏年は、
西暦の年号が4で割り切れる年は閏年とする
4で割り切れる年でも、100で割り切れる年は平年とする
100で割り切れる年でも、400で割り切れる年は閏年とする
西暦1年の1月は月曜日から始まる。
0975THE 初心者
NGNG最終的にはPS2みたいなゲームを作れるようになりたい!と思ってプログラミングの勉強を始めたのですが、まったく何をやったらいいのかわかりません。
プログラミングにはいろんな言語があるってわかったんですが、どの言語から勉強するべきでしょうか?
0976デフォルトの名無しさん
NGNG日本語
0977デフォルトの名無しさん
NGNGどの言語から勉強するべきかを勉強しる。
0978デフォルトの名無しさん
NGNG>>853,887
853 とは同じ授業かな?
全過去ログとは言わないけど、
現在のスレッドくらい読んだ方がいいよ。
0979961
NGNGできれば抽出を使ってプログラムを書いてみたいです。
titleだけでも抽出の仕方を教えていただけないでしょうか?
参考とするwebは(X)HTMLであるという設定でお願いします。
0980名無しさん@そうだ選挙に行こう
NGNGimport java.net.*;
import java.util.regex.*;
public class GetTitleTest {
public static void main(String[] args) {
try {
System.out.println(getTitle(new URL("http://pc5.2ch.net/test/read.cgi/tech/1076054000/l50")));
} catch (MalformedURLException ex) {
}
}
static private Object getPage( URL url ) {
try { return url.getContent( ); }
catch( Exception ex ){ return null; }
}
0981名無しさん@そうだ選挙に行こう
NGNGObject o = getPage(url);
if (o instanceof InputStream) {
try {
//byte 列から Unicode 文字列を生成
BufferedReader br = new BufferedReader(new InputStreamReader((InputStream)o));
StringBuffer buf = new StringBuffer();
while (true) {
String line = br.readLine();
if (line == null) break;
buf.append(line);
buf.append("\n");
}
String html = buf.toString();
// ましな方法
Pattern p = Pattern.compile("<(Title|TITLE|title)>([^<]+)</(Title|TITLE|title)>");
Matcher m = p.matcher(html);
m.find();
return m.group(2);
// 初歩的な方法
//String totag = html.toLowerCase();
//int titleindex = totag.indexOf("<title>") + 7;
//int titleendindex = totag.indexOf("</title>");
//return html.substring(titleindex, titleendindex);
} catch (IOException ex) {
return "取得失敗";
}
} else {
return "不明";
}
}
}
0982名無しさん@そうだ選挙に行こう
NGNGどんな言語の利用者でも、この方法を知っておくとかなり役に立つ。
これについて勉強してるのとしてないのとでは雲泥の差。
俺は普段あまり使う機会がないので、ちとお粗末な判定になってるかもしれん。
「初歩的な方法」は、indexOf メソッドを知っていれば誰でも思いつく。
toLowerCase を使って totag なる文字列を作っている(アルファベット部分が全部小文字になる)のは、
タグの場所の判定を一回で終えるためで、効率はすこぶる悪い。
0983名無しさん@そうだ選挙に行こう
NGNGあるいは return 直前で trim するか。などなど、html の解釈はいろいろめんどくさい。
XHTML ならタグ閉じもしっかりしている(はず)ので、諸々の不安なくそれぞれの判定をかけられるし、
他のもっと高級な方法(xml 関連のクラス群)も使える。ちうかその方がいい。
卒研レベルなら当然のように要求されるが、そこまではいかないのであろう。
0984961
NGNG自分なりに消化してみたいと思います。
0985名無しさん@そうだ選挙に行こう
NGNG0986名無しさん@そうだ選挙に行こう
NGNGimport java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameTest extends JFrame implements ActionListener{
public static void main(String[] args){new FrameTest();}
FrameTest(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton btn = new JButton("Frame");
btn.addActionListener(this);
Container container = getContentPane();
container.setLayout(new FlowLayout());
container.add(btn);
pack();
setVisible(true);
}
JFrame subFrame = null;
public void actionPerformed(ActionEvent e){
if(subFrame == null){
subFrame = new JFrame();
subFrame.setBounds(300,0,300,300);
subFrame.setVisible(true);
}
else{
subFrame.setVisible(false);
subFrame = null;
}
}
}
0987ダメ学生
NGNGやっていただける方いませんか?
お礼します
詳しくはメールorメッセで
[email protected]
0988きむ
NGNG0989名無しさん@そうだ選挙に行こう
NGNG0990985
NGNGJFrameの動的生成が分かりません。そしてGraphicsの新規作成されたJFrameへの割り振り方法も・・いろいろ探したんですけどorz
0991985
NGNGちなみに989のパネル=JFrameのことです。分かりにくくて申し訳ないです。
0992名無しさん@そうだ選挙に行こう
NGNGJFrame f = new JFrame();
f.getContextPane().add(ほげほげ);
f.setVisible(true);
}
インスタンス作って visible にするだけ。
豆=NetBeans? 俺はろくに使ったこと無いがね。
便利なものを使うのもいいけど、基本抑えとかないとずっとワケワカランままだよ。
>そしてGraphicsの新規作成されたJFrameへの割り振り方法
これも意味分からん。"豆" 使ってたら分かるのか? それにしても誤解してるんだろうな。
「Graphics を割り振る」のは VM の仕事だし。
Graphics はフツー JComponent とかの paintComponent あたりをオーバーライドして使うべきだし。
0993985
NGNG今までは最初から作ってあるJFrame内の描画パネルにpaintComponentを使ってましたが・・
0994名無しさん@そうだ選挙に行こう
NGNG新しく作ったJFrame内に配置した "描画パネル" の paintComponent で描画されるだけでしょ。
ちと乱暴だがこういうことだ。
void hoge() {
JFrame f = new JFrame();
f.getContentPane().add(new MyPanel("うし"));
f.setVisible(true);
JFrame f = new JFrame();
f.getContentPane().add(new MyPanel("うま"));
f.setVisible(true);
}
class MyPanel extends JComponent { //なんのことはない、JLabel みたいなもんだが
private String name;
public MyPanel(String name) {
this.name = name;
}
public void paintComponent(Graphics g) {
g.drawString(name, 100, 100);
}
}
一回、手で書いてるサンプルコード読んで勉強してみたら?
0995985
NGNG0996名無しさん@そうだ選挙に行こう
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1089527630/
0997名無しさん@そうだ選挙に行こう
NGNG1000寸前ですが、スレたてていいのか分からなかったので。
パズルつくりたいんですけどどうやっていいのかさっぱり判りません。
ピースがくっついてて、ずらして絵を合わせるやつです。
提出期限あと三日…タスケテクダサイorz
0998名無しさん@そうだ選挙に行こう
NGNG諦めれ
0999名無しさん@そうだ選挙に行こう
NGNG1000名無しさん@そうだ選挙に行こう
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。