X



Java入門・初心者質問スレ Part.5©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0205デフォルトの名無しさん
垢版 |
2017/10/21(土) 10:41:58.06ID:PVB7G2Ex
ハイエークラスに集計メソッドを持たせてはどうか。
0206デフォルトの名無しさん
垢版 |
2017/10/21(土) 10:42:56.10ID:PVB7G2Ex
せっかくだからシークエルを渡せるようにしてはどうか。
0207デフォルトの名無しさん
垢版 |
2017/10/21(土) 14:19:09.90ID:L87nxTYD
>>200
可能

5台と固定だから付ける意味ないんじゃないかな
クラス変数の挙動を知る課題かな
その使い方や設計としては悪いが
0209デフォルトの名無しさん
垢版 |
2017/10/21(土) 15:47:20.68ID:PVB7G2Ex
ぴったりじゃん?
0210デフォルトの名無しさん
垢版 |
2017/10/21(土) 16:49:24.05ID:oMtVUNUR
何この糞問題wwwひっでぇな・・マジで
これ作ったの教員?生徒?
なんで配列の一要素でしかないクラスが配列全体の情報を持ってこれるんだよw
こんなレベルだと生徒もダメになるゴミ問題だな
0211デフォルトの名無しさん
垢版 |
2017/10/21(土) 16:53:51.90ID:oMtVUNUR
しかもこれで大学だからなwww
>200も相当な馬鹿っぽいし100%Fランだなw
0212デフォルトの名無しさん
垢版 |
2017/10/21(土) 16:58:21.30ID:oMtVUNUR
あーこれあれかw
最初から車の総数と大型車の台数わかってるから
countAutomobileとcountHeavyは5台と2台を直打ちで返すようにしてるだけなのかwww
中学校のマイコン倶楽部の問題かよwwwwwww
0213デフォルトの名無しさん
垢版 |
2017/10/21(土) 17:35:53.13ID:g5bh72yL
>200です。みんな色々とありがとう。まあFランなのは否定しないですw lengthなくてもいけるのはわかったのでもうちょい頑張ってみます
0214デフォルトの名無しさん
垢版 |
2017/10/21(土) 17:58:44.98ID:ZBz0JWdz
countAutomobile()やcountHeavy()は
コレクションクラスに持たせるのが普通でしょ
AMCounterクラス作って切り出すほどでもない
この規模ならHighwayクラスのメソッドでも十分

for文の中括弧省略はアンチパターン
あと大型車を数えるのにcountHeavy()という名前は不適切
0215デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:16:41.12ID:g5bh72yL
>>214
まあ一応課題に沿って作成しないといけないんで与えられたクラス内でやるしかないみたいです。ご指摘ありがとうございます。
0216デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:22:53.02ID:W+SO0xqJ
>>204
その通りだね
課題の範囲だとstatic使うくらいしかないよな

>>205
それもアリだと思う
countメソッドはAutomobileよりかは
Highwayが持つ方が自然

ただ何を作るかにもよるけど
Highwayが将来的に肥大化しそうだから
Counterクラスに切り出す場合もありそう
0217デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:27:25.26ID:W+SO0xqJ
>>214
コレクションクラスでもいいというか
課題だとそっちの方がいいね

ただ課題のはサンプルコードで超小規模だけど
実用的なプログラムだと
カウントの仕方が多種類で複雑になるから
0218デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:28:53.58ID:CGeTMVG8
俺様が素晴らしい解答を用意してやったぞ
但し実行結果は見てない

class Automobile {
private static AtomicInteger count = new AtomicInteger();

private static AtomicInteger weight = new AtomicInteger();

public Automobile(int weight) {
this.weight.addAndGet(weight);
}

public int countAutomobile() {
return count.incrementAndGet();
}

public int countHeavy() {
return this.weight.get();
}
}
0219デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:37:22.59ID:CGeTMVG8
よく考えたらincrementAndGetはコンストラクタでやるしかねえな
オブジェクト作る意味無いコード書いたの初めてだから中途半端なコードになっちまった
0220デフォルトの名無しさん
垢版 |
2017/10/21(土) 18:42:09.63ID:oMtVUNUR
ダメだ・・このあまりに低レベルな流れ見てると吐き気がしてくる・・
問題の質があまりに低レベルなの見れば設計とかそういう以前の問題で真面目に考える余地なんかないのに
staticだのコレクションだの将来性だのアホか・・
0223デフォルトの名無しさん
垢版 |
2017/10/21(土) 20:07:37.18ID:mG9cdR79
国語よりJavaのほうが必修だろ。
0226名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 12:27:36.98ID:/zkBCLsm
初心者どうこういう以前にお前等のその解釈って無駄というか”無意味”なんだよね
問題文がインスタンス作りましょうとかっていうレベルのものなのに
問題に書かれない範疇のことまで勝手に想像を膨らませてあーだこーだ考えて
逆に質問者を混乱させ、陥れる無能の典型というか馬鹿の代表というか
なんだろうねこのド素人特有の客観的に問題点とそれに対する回答を指摘できない低知能ぶりは
0229名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 13:31:52.16ID:hgYX0k8x
>>228
昔のjava重かっただろ
0244名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 19:31:25.01ID:AUtmH3Uy
>>237
いいじゃん。全部覚えろよ。
0247デフォルトの名無しさん
垢版 |
2017/10/23(月) 00:52:06.58ID:Zv+DKPlp
>200です。もう無理だw大学で配られた資料だけじゃだめだ、理解が追いつかない。本とか買わないとまずいかな。まあ勉強不足なのはわかってるんだがやっぱ無理なもんは無理だ。誰か教えて…
0248デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:05:36.93ID:u5IDZl2p
>>247
実現するならstatic変数を作ってコンストラクタでインクリメントするだけ

staticを解説するためだけのアンチパターンな設計だから深く考えたらだめなやつ
0249デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:06:44.62ID:y4/LHG7i
>>247
とりあえず何がわかんないのか箇条書きで書いて見なよ
親切なおじさんと不親切なおじさんがレスするから
0250デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:14:38.16ID:Zv+DKPlp
>>249
まず、合計台数だけを出力するプログラミングを作ろうと思ったんですけど、
整数型配列の初期化とかはあってるはずなんだけど、Automobileクラスでint countAutomobile(){(←コンストラクタ?)内で何を打てばいいのかわからないです。ただ、return weightだと配列の1つ目の値だけが出力されますので。
https://i.imgur.com/APIeS93.jpg
0251デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:16:06.32ID:Zv+DKPlp
>>249
もちろん課題の内容としてはさらに大型車の台数も出力しないといけないんですけど、まず簡単なとこからと思って合計台数だけをやり始めたらそこすらできない次第です。
0253デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:23:14.60ID:y4/LHG7i
>>250
なるほど、それほど筋悪く無いと思うよ

他の人がいろいろ書いてるように1台の車を表現してるAutomobileクラスのインスタンスが
全部で何台あるのかを把握してること自体がおかしい、つまり課題のコードのほうがおかしい

だからそこは分からないほうが普通というか
100人いたら100人ともam[0].countAutomobile()とは書かないから
他のやり方したらいいんでないの?
0254デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:29:14.79ID:u5IDZl2p
Automobile(int g)がコンストラクタだよ
int weight → static int weight って変えてみたらわかると思う
253が言うように筋はいいと思う

>>253
残念ながら課題として出てるのでこれに回答せねばならないんだよ
とてつもなく不服だがな
0255デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:29:54.34ID:Zv+DKPlp
>>253
課題がおかしいんですかね…どこか一部を直せばいいんでしょうか?それか他の意見でもあったように新しいクラスを作るべきなのでしょうか?たびたびすみません。
0257デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:38:13.20ID:y4/LHG7i
>>255
HighwayクラスにcountAutomobile()やcountHeavy()を作って上げるのが一番簡単

どうしても課題のコードに従ってやるならAutomobileクラスに
クラスレベルの変数として台数合計を管理するものを用意する
0258デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:55:19.63ID:Zv+DKPlp
>>257
前者の方法についてもう少し詳しく教えていただけませんか?自分の解釈ではまずHighwayクラス内にint countAutomobile()と int countheavy()をつくる。
0259デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:55:42.85ID:Zv+DKPlp
>>257
countAutomobileに関してはreturn weightで返して、heavyに関してはif文で大型車の時だけreturn で返せる。と考えたのですが、あってますでしょうか?無知ですみません
0261デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:00:11.05ID:Zv+DKPlp
>>260
先ほどの画像にstaticを足してみたところ5つ目の配列の要素が表示されたのですが、どこがおかしいんですかね?
0263デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:05:09.61ID:u5IDZl2p
>>261
8って出たならあってるよ
出力してるところでは1番目を指定してるのに5番目が出たってところが大事
0264デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:06:00.66ID:yUlbauj/
またアホどもが初心者を混乱させてるwww
問題が糞で最初から台数わかってんだから台数はハードコーディングングでそのまま返せばいいんだよ
なんでsataticにすんだよ阿呆
0267デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:11:15.70ID:u5IDZl2p
>>265
まだまだ途中
そもそも台数を出すのであれば重さを設定する必要はない
static int weight → static int weight=0 って変えて
weight=g → weight++ って変えてみな
0276デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:34:41.53ID:c0Vu/KQR
>>274
ひとまず、な
できるだけ手を加えずまずは動き
命名も大事だがまずは動かすことを目的とした

>>275
後はstatic変数を増やして
さっき5台って出たものと今2台って出たモノを組み合わせれば完成
0277デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:37:41.34ID:yUlbauj/
キモすぎてもう見てられん・・早く終わってくれ

public class Automobile {
static int TotalMobile = 0;
static int TotalLargeMobile = 0;

Automobile(int weight){
TotalMobile++;
if(weight >= 11){
TotalLargeMobile++;
}
}

public int countAutomobile(){
return TotalMobile;
}
public int countHeavy(){
return TotalLargeMobile;
}
}

public class Highway{
public static void main(String[] args) {
Automobile[] am = new Automobile[5];
int[] weight = {1, 15, 12, 5, 8};
for(int i=0; i<5; i++){
am[i] = new Automobile(weight[i]);
}
System.out.println("自動車総数:" + am[0].countAutomobile() + "台");
System.out.println("うち大型車:" + am[0].countHeavy() + "台");
}
}
0279デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:42:53.75ID:Zv+DKPlp
皆さんありがとうございます!おかげでどうにか出来ました!この恩は一生忘れないです!
0281デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:48:37.75ID:Zv+DKPlp
>>280
けれどこんなヽ(・∀・)ノウソコ設計でもみなさんちゃんと理解して完成まで持ってけるなんてほんとにすごいと思います。
0283デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:54:14.67ID:c0Vu/KQR
こちとら仕事でこんなもんじゃないレベルのウンコを相手にしてるからな
本来いらないスキルだからお前は真っ当に育ってくれ
0285デフォルトの名無しさん
垢版 |
2017/10/23(月) 03:04:25.94ID:Zv+DKPlp
>>283
センスないと言われたらそこまでですが、将来IT系で働きたいと考えているのですがどう思いますか?ちな理系です。
0286デフォルトの名無しさん
垢版 |
2017/10/23(月) 03:11:54.62ID:c0Vu/KQR
>>285
働くだけなら誰でも行けるよ
スキルは後から付ければいいけどあればあるだけ有利にはなる
0288デフォルトの名無しさん
垢版 |
2017/10/23(月) 04:09:38.68ID:H84xHXVr
>>281
完成については最初に問題を見た直後に大半のやつはわかっていて、
それだからクソだと言っていたのだ。この程度は誰でも慣れてくると
すぐに頭に浮かぶようになる。というか見た直後にまず違和感を覚える。
それからその違和感の原因はなんだろうと心の中を探り、それから
ソースを二度見して気づく。
0289デフォルトの名無しさん
垢版 |
2017/10/23(月) 04:25:40.26ID:yUlbauj/
ネットで色々調べ物してたら大学生とか院生でも仕事でjavaってる奴よりも
遥かに賢いコード書いてる奴が腐るほどいるのに
大学で出る課題がこれでそれに悪戦苦闘してる奴が仕事とか夢見すぎだろ
0292デフォルトの名無しさん
垢版 |
2017/10/23(月) 12:06:33.05ID:Lz0ZCAGx
初歩中の初歩的なことで申し訳ないんですが、Windows 10上でのJava開発環境の構築は
a. JDKインストール → Eclipseインストール →Pleiades プラグインインストール (一般的?)
b. Pleiades All in One [Eclipse 4.7] Java (Full Edition)
どちらの方法がお勧めでしょうか?最近まで開発にMacを使っていたものでどうすべきか悩んでいます。
後者は最初からよく使うプラグイン類が導入済で便利とは聞きますが...
0293デフォルトの名無しさん
垢版 |
2017/10/23(月) 12:18:29.77ID:QxUDS6F0
>>292
本当の初心者とか楽したいなら後者
開発経験あるなら前者で必要なプラグインだけ選出して入れる
0294デフォルトの名無しさん
垢版 |
2017/10/23(月) 16:12:01.87ID:QKnEuIrp
必要ないプラグインは外せる
だからプラグインと呼ぶ

学校でのプログラミングの課題はあくまで穴埋め的に特定手法の記憶度を見るものであり
独習時の問題とも業務実習時の課題とも違うものだから出来不出来は気にしないのがよい
ネイティブだろうがプロ翻訳家だろうが「学校の」英語「習熟度ドリル」は満点取れなかったりするものだ
0295デフォルトの名無しさん
垢版 |
2017/10/23(月) 16:23:54.92ID:t7W7X0PH
あー。帰国子女で日本語片言のやつがなぜか満点取れないと。
0297デフォルトの名無しさん
垢版 |
2017/10/23(月) 18:36:46.88ID:NKAmnKE1
この課題はインスタンス変数とクラス変数の違いを知るためのものだから
こういう間違えをして調べるのを期待してるんだろ
0298デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:16:35.52ID:YIhcz2Te
ま、しかし、もうちょっとましな課題作れないもんだろうか。
疲れてたのかな。
0299デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:31:38.35ID:Pe+98mGG
やっと流れに追いついた
>>200のは、設計がどうのという以前に
キチガイの所業

あるいはお前らの脳を疲弊させるための実験
お前らマトモにとりあってたらダメだぞ
0300デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:40:11.90ID:YIhcz2Te
あー。そうか。スレを活性化させるために投下された燃料だったのか。
0301デフォルトの名無しさん
垢版 |
2017/10/23(月) 20:12:20.31ID:y4/LHG7i
一般的にこういう課題ってam[0]の箇所を
自分なりに修正して提出したら減点対象になるの?

もしそうなら大学レベルの教育方法ではないよね
0302デフォルトの名無しさん
垢版 |
2017/10/23(月) 20:22:05.75ID:YIhcz2Te
わからんな。先生の気分次第なんじゃないか?
0303デフォルトの名無しさん
垢版 |
2017/10/24(火) 00:45:00.97ID:MROfWTvM
配列ってホッチキスで止められた書類みたいなもんだから最近嫌いだわ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況