2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

☆★Java質問・相談スレッド180★★

1 :デフォルトの名無しさん:2017/04/21(金) 22:13:17.42 ID:Sf0TFsly.net
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド179★★
http://echo.2ch.net/test/read.cgi/tech/1476706523/

2 :デフォルトの名無しさん:2017/04/21(金) 22:14:40.20 ID:Sf0TFsly.net
「質問用テンプレ」
下記の各項目のうち不要・不明な項目や選択肢は消してください。
自分にとって適切な項目や選択肢がない場合は、項目や選択肢を追加して構いません。

【言語のバージョン】
【フレームワーク】
【OS】
【開発環境】
【使用しているIDE】
【Java歴】
【javadocは見たか】
【質問事項】
【エラー内容】
【エラーの経緯】
【回答期限】
【その他自由記入】

3 :デフォルトの名無しさん:2017/04/21(金) 23:41:53.14 ID:poKR2I/c.net
仕事をください

4 :デフォルトの名無しさん:2017/04/22(土) 00:00:43.14 ID:DvFMYWJR.net
テンプレを用いて下さい

5 :デフォルトの名無しさん:2017/04/22(土) 01:05:09.44 ID:L2OY3vpK.net
【質問事項】仕事ください

6 :デフォルトの名無しさん:2017/04/22(土) 11:14:49.70 ID:MCfxOfku.net
>>5
経歴書提出してください

7 :デフォルトの名無しさん:2017/04/22(土) 15:39:14.27 ID:Btp73K0S.net
javaをやるためには基礎知識が必要っていうことで基本情報技術者の資格を取ろうとしてるんだけど補数のところで分からない事があるから教えてほしい
10進数の4-3っていう計算をするとき4と3はそれぞれ
0100と0011じゃん
で、3を反転させた値に1を足したら1101←これが-3となる
で、二進数方式でこれら二つを足すと10001、そして一番上の位は切り捨てるそうだから1になる、これはなんとなくわかる
では3-4となると、これと同じやり方で計算すると1111になった
1の補数的な意味では確かにこれはマイナス1になるけどこれが実際の数なのかそれとも負の値を持った補数なのかってどうやって判断するの?
つまり最初の計算ででてきた10001っていう答えはそのままの数として扱っているのに最後の計算で出てきた1111っていう計算結果は負の数ではなくもしかしたら15かもしれないじゃない
長くなってしまったが回答よろしく

8 :デフォルトの名無しさん:2017/04/22(土) 15:50:36.19 ID:B/cVqxzO.net
テンプレを用いて下さい

9 :デフォルトの名無しさん:2017/04/22(土) 15:53:28.13 ID:XRNdcvpY.net
>>7
型しだい
マイナスの符号を持つ型なら最上位ビットはこの値がマイナスですよー
というフラグなので、値は-1

10 :デフォルトの名無しさん:2017/04/22(土) 15:57:55.11 ID:SoGX0B4D.net
引数が3bitなんだから高々14にしかならない

11 :デフォルトの名無しさん:2017/04/22(土) 16:34:37.45 ID:Btp73K0S.net
もう一個質問お願いします
javaでブラックジャックのゲームを作りたい、その際に分からない事が
・52枚のカードを一枚ずつ書かないために多次元配列を使ってすべてのカードを表すことができるかどうか、そして1-13のカードを全て書き並べるのではなくfor文などで配列の中に表せるかどうか
・カードを配列の中からランダムに引くことが出来るかどうか、そして一枚ひかれたらそのカードは次からひかせないようにするにはどうしたらよいか
・web上で実行した際ユーザー側にスタンドorヒットを選択させるボタンの配置方法
・具体的なカードの画像をネットで拾ってそれを配列に反映させる方法

繰り返し処理がかける程度の初心者なのでどれか一つでもいいのでやり方を教えてくれると助かります
一番下のはおまけ的な意味なので簡単だった場合でいいです
自分が今まで作ったプログラムでは実行したら10000までの素数は何か、みたいな計算結果だけを表示させるようなプログラムだけなのでユーザー側にアクティブにさせるのがまだよくわかってないです

12 :デフォルトの名無しさん:2017/04/22(土) 16:37:21.68 ID:Btp73K0S.net
>>7
失礼しました

>>8
もともとマイナスの符号を持つ型のもとでやってるのではないの?

13 :デフォルトの名無しさん:2017/04/22(土) 16:37:52.20 ID:Btp73K0S.net
アンカー一個ずれてた

14 :デフォルトの名無しさん:2017/04/22(土) 16:43:46.75 ID:Btp73K0S.net
>>11
追記
オブジェクト指向が少しだけわかったのだけどこのプログラムを組む際にどこで使ったらいいかも教えてほしいです
自分の中のオブジェクト指向はクラス(車だったり人間だったり)は皆とりあえず一律の動きができるっていうイメージ
しかいdealerもuserも一人ずつしかいないのだからオブジェクト指向にする必要があるのかなっていうのが今自分が抱いている疑問

15 :デフォルトの名無しさん:2017/04/22(土) 16:52:28.64 ID:+hjaOcO8.net
>>7
>>9 の言うように2の補数表現だと最上位ビットは符号を表すから 4bit だと -8〜7 までしか扱えない

16 :デフォルトの名無しさん:2017/04/22(土) 16:58:43.59 ID:hC7lZfMR.net
プログラムは二進数!って言うけど滅多に使わないよな
フラグの指定くらいか?

17 :デフォルトの名無しさん:2017/04/22(土) 17:00:16.20 ID:+hjaOcO8.net
>>11
まずは java ブラックジャック ソースコード 辺りでググって適当なソースコードを見てみることをおすすめする

18 :デフォルトの名無しさん:2017/04/22(土) 17:00:26.74 ID:GSnrV4fZ.net
>>12
スレチなんだけど

19 :デフォルトの名無しさん:2017/04/22(土) 21:53:37.80 ID:XRNdcvpY.net
>>14
・カードはクラスを作ってそのリストを使えばよい
・ランダムに引くのはシャッフルして削除すればよい
https://paiza.io/projects/XWSvPjzhnU1r4EpnG0l-gg

20 :デフォルトの名無しさん:2017/04/22(土) 22:17:18.25 ID:x8LqAlRP.net
>>11-19
2次元配列[4][13]のようにはしない人が多い。
1次元配列[52]のようにする

その配列の要素には、カードクラスの参照を入れる。
そして、カードクラスには、便利なメソッドを追加する

21 :デフォルトの名無しさん:2017/04/23(日) 03:06:52.12 ID:wQhD8zAd.net
>>14
自分で作ることを考えてみたらこんな感じ
もちろん人によってかなり変わると思うけど、どんなものがクラスになるのかのイメージにでも

bj パッケージ
Bootstrap ・・・ mainメソッド

bj.game パッケージ
Match ・・・ 1回分のゲームの管理

bj.cards パッケージ
Deck ・・・ 山札
Hands ・・・ 手札
bj.cards.cardパッケージ
Card ・・・ カード
Number ・・・ 数字
Suit ・・・ スート

bj.player パッケージ
Participant ・・・ 参加者(抽象クラス)
Dealer ・・・ ディーラー
Player ・・・ プレーヤー

bj.player.strategy パッケージ
PlayingStyle ・・・ カードをひく基準を決めるインタフェース
DealersStyle ・・・ ディーラーがカードをひく基準(17より小さければひく)
GenericStyle ・・・ 21より小さければカードをひく
RandomStyle ・・・ さいころふって偶数ならカードをひく

22 :デフォルトの名無しさん:2017/04/23(日) 03:40:12.93 ID:q6MqXCrn.net
>>7
Javaで実際に整数計算するプログラム作って2進数で表示させてみればわかると思うよ。

23 :デフォルトの名無しさん:2017/04/23(日) 17:57:11.34 ID:fsvPYIZO.net
>>16
組み込みとかだと出てくるんじゃない
あと仕組みを知っておくとトラブルシューティングで役立つ

24 :デフォルトの名無しさん:2017/04/23(日) 18:04:31.15 ID:fsvPYIZO.net
>>11
まずデッキとカードクラス作っていろいろ遊んでみればいいんじゃない
シャッフルするとか一枚引くとか
カードが一枚もないデッキから1枚引こうとして例外とか

次にそれらのクラスを利用するブラックジャッククラスを作るわけだが
前に作ったクラスは後に作ったクラスに依存しないように作るのがポイント

25 :デフォルトの名無しさん:2017/04/24(月) 09:03:36.42 ID:IVlW4HWK.net
出された課題通りにブラックジャックの作成をやってみてるのだが早速ここでエラーが出てきて困ってしまった
正直抽象クラスどころかオブジェクト指向の理解も危ういのだがテンプレートを使いながらの作成
配列を引数に持たせよといわれてなんのこっちゃって感じで課題を進めてみてるのだがとりあえず見てほしい
abstract class human{
abstract public void open();
abstract void setcard(int num[]);
abstract public void checksum();
int myCards;
}
class Dealer extends human{
int cards[]={1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13};
public void deal();

}
class User extends human{
}

アドバイス頼む、分からなくて困ってる

26 :デフォルトの名無しさん:2017/04/24(月) 09:20:42.11 ID:jdd5Ifgu.net
>>25
dealerクラスとuserクラスへabstractのメソッドを下記のように実装したらひとまずコンパイルできると思うよ
public void open(){}
void setcard(int num[]) {}
public void checksum() {}

27 :デフォルトの名無しさん:2017/04/24(月) 09:53:32.48 ID:IVlW4HWK.net
>>26
できた
どうもありがとう。
抽象クラスにはメソッドを書かせる事を強制させる効果があるという事か

28 :デフォルトの名無しさん:2017/04/24(月) 20:38:20.66 ID:tEKwtO57.net
エラーメッセージ読むか誰かに代わりにやってもらえ

29 :デフォルトの名無しさん:2017/04/24(月) 21:23:53.16 ID:MN8pW2Am.net
誰かにやってもらったら課題の意味がないよ
聞く分には調べ方を知るって点で意味あると思うけどね

11 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★