トップページ⇒tech
1002コメント343KB

Java入門・初心者質問スレ [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/05/12(木) 05:18:33.40ID:nzHoBPh8
Java初心者のためのスレッドです。
0052デフォルトの名無しさん2016/06/08(水) 16:42:46.58ID:BCgime2A
でもJavaのnioの定着度の低さは異常
channelなにそれやjava8のstreamもなにそれのひとをしばしば見かけるわ

初心者向けサイトが未だにstream使ってるところが多いからそのままnio知らずにやってんだろうなぁって思う
0053デフォルトの名無しさん2016/06/08(水) 16:43:46.23ID:BCgime2A
>未だにstream使ってる
未だにInput/Output Streamを使ってる
0054デフォルトの名無しさん2016/06/08(水) 17:27:08.74ID:EYWDZbyT
>>50
それって何をやらせた時なんだろうね?
0055デフォルトの名無しさん2016/06/08(水) 18:21:37.35ID:Q4ck869A
昔はJavaは確かにCよりずっと「速い」ことがあった。
だが、Javaのバーチャルマシンを開発した本人によると、
それはバグのせいであったとさ。普通行われているベンチマークの
測定の仕方には問題があって、大勢がそうした「誤ったやり方」を
していたおかげでJavaの方が速いと言われていたのだが、
ちゃんとした測定をやるとCの方が速くてJavaは遅かったという
常識的な結論に至るのだよ。開発者自身が認めているんだから
そうなんだろ。
Cの20倍速いというのはその「間違った方法」を踏襲している
昔の論文だよ。
0056デフォルトの名無しさん2016/06/08(水) 18:44:31.08ID:kX/X1XCc
下記にメモったプログラムでLED_2_ONを押すとパケットで送り続ける
ようにしたいんですが、教えてください!やり方は問いません!!
ttp://plsk.net/rocknroll

最初書き込み先まちがえました!
0057デフォルトの名無しさん2016/06/08(水) 19:14:28.31ID:dkuXgh3b
>>56
androidっぽいのでスレチでは?
0058デフォルトの名無しさん2016/06/08(水) 19:24:24.39ID:kX/X1XCc
>>57

スレ違いでしたか!申しわけありません。
0059デフォルトの名無しさん2016/06/08(水) 19:45:25.60ID:bHvDUpho
速度の話しもそろそろスレチ気味だろ
0060デフォルトの名無しさん2016/06/08(水) 23:16:40.18ID:7xYKaWGH
javaを業務の合間に勉強しようと思い2週間程いろいろなHPを見ていますが、
ここのHPの内容を一通り見れば理解できるかも ってど素人に都合のいいサイトありますか?

あと僕が理解できなかったとこなんですが、以下のサンプルで
import java.util.***
public class AAA { ←�@
static public void main(String[] args){
AAA aaa = new Arrylist [] ←�A
for ( ){
--なんしかの処理
}
void BBB {
--なんしかの処理
}
 }                ←�B

�@でクラスAAAを定義してそのクラスの定義途中?で�AのAAAクラスのオブジェクトを作成するって、
何かが僕の中で引っかかって悩んでいます。
�@から�Bの内容を全て包括したのが、�Aであるなら�A以降�Bの処理までは�Aの時点でリードしてないんじゃ・・・
という初歩的なものです //卵が先?親鳥が先?みたいな感じなんですが

うまく説明できずにすみません。こんなので悩むってことは、基礎の基礎からやり直せって事なんですかね?

2週間で納得できた事は、UNIXの xargs と String[] args が似たようなもんだったんだ。というくらい(泣)
0061デフォルトの名無しさん2016/06/08(水) 23:36:07.42ID:E3Y0fydP
関数の巻き上げかも。
巻き上げとは、下の行で定義した関数を、上の行で呼び出せる

f(); → 呼び出せる
f(){ 定義 }

構文解析では、上の行を読んだ際、関数:f → シンボル未解決、のようにいったん処理しておいて、
下の行を読んだ際、関数:f → 定義あり、のようにシンボル表に書き込む

�@円囲み数字のような、Windows固有の環境依存文字を使ってはいけない。
他のOSでは、読めないから
0062デフォルトの名無しさん2016/06/08(水) 23:46:10.01ID:7xYKaWGH
>>61
回答ありがとうございます。
関数の巻き上げっすね。。。メモメモ

�@�A�BはMacから記載してしまいました。
今後気をつけます。
0063デフォルトの名無しさん2016/06/09(木) 01:11:31.02ID:xz94zbOX
>>60
java入門でググってでてくる、一番簡単なJava入門というサイトで自分は勉強した
後は入門書読んだり

質問の答え
mainメソッドはstaticでクラスに属するメソッドだから、AAAをインスタンス化しなくても実行できる
クラスはインスタンスの雛型みたいな存在で、staticメソッドやフィールドはその雛型を見て実行される。
ちなみにインスタンス化は、クラスのコピーをメモリに作ること

このサンプル、どこから見つけたか知らないけど、突っ込みどころ多すぎる
このサンプルの情報源は使わない方がいいかも

継承関係の無い型でインスタンス化してるし、インスタンス化の最後は()

ArrayListの間違え?ならジェネリクスの型指定も推奨される

void BBBはメソッド?
メソッドなら()が抜けてる上に、メソッドの中にメソッドを書いている謎
インナークラスでも無さそうだし
0064デフォルトの名無しさん2016/06/09(木) 12:31:33.58ID:863pratv
>>61
丸で囲った数字はUnicodeに定義されているし元のエンコードであるWindows-31j(またはcp932)も今ではWindows固有のものではなくなっている。
0065デフォルトの名無しさん2016/06/09(木) 12:34:01.10ID:58zVJbW4
>>64
おじいちゃんなんだよきっと
0066デフォルトの名無しさん2016/06/09(木) 12:37:23.87ID:CSH5zx3A
拾うべきポイントは2ちゃんねるがどのエンコーディングを使ってるかと
クライアント(とブラウザ)が該当フォントをサポートしてるかどうかだろう
0067デフォルトの名無しさん2016/06/09(木) 17:46:48.45ID:Ms1oj4bl
そういや今の2ちゃんはどうなったんだろ。専ブラは許可制にして何かやってたよね。書き込み内容の送信は今も変わらずcp932なのかな?
0068デフォルトの名無しさん2016/06/10(金) 07:27:25.95ID:o8hFzx97
2chって、ダブルクォーテーションを使うと、そこで送信文が終了するよな?

いったいどうプログラミングしたら、そういうバグが出るのか、聞きたいよな?
0069デフォルトの名無しさん2016/06/10(金) 07:33:35.22ID:FgCN9jAe
t”e”s”t
0070デフォルトの名無しさん2016/06/10(金) 07:34:27.78ID:FgCN9jAe
ならなくね?
0071デフォルトの名無しさん2016/06/10(金) 09:14:37.58ID:YX5Xpu4P
わろた
そんなわかりやすいバグあったらとっくに修正してるだろ
0072デフォルトの名無しさん2016/06/10(金) 09:37:17.37ID:E5hpPV0K
>>68
それは初耳だが、その情報はどこから仕入れたのだ?
0073デフォルトの名無しさん2016/06/10(金) 11:00:34.52ID:o8hFzx97
文章が切れているのを、しょっちゅう見かける

ダブルクォーテーションの次に、= を付けるだったかな?
0074デフォルトの名無しさん2016/06/10(金) 11:02:49.19ID:FgCN9jAe
t”=e”=s”=t
0075デフォルトの名無しさん2016/06/10(金) 11:03:32.71ID:FgCN9jAe
遊ばれている気がするし、何よりスレチだな・・・。
0076デフォルトの名無しさん2016/06/10(金) 12:56:47.75ID:E5hpPV0K
専ブラのバグでは?
0077デフォルトの名無しさん2016/06/10(金) 17:27:07.43ID:YiBZsNFP
釣られすぎだろ...
0078デフォルトの名無しさん2016/06/10(金) 17:32:35.64ID:2OxUQDLt
o8hFzx97はNG〜
スレ民釣れまくってるね
0079デフォルトの名無しさん2016/06/10(金) 23:51:32.58ID:1F9oZ6BS
先生 ここの例題の解答例で分からないとこがあります。
http://www.techscore.com/tech/Java/JavaSE/Thread/answer/5-1/

FileCopyExample.java の下記の場所の readerThread.join();は writerTThread.join();かな?と勝手に思って先に読み進めました

  writerThread.start();
        try {
            System.out.println("書き込み開始");
            readerThread.join();
            System.out.println("書き込み完了");

writerThread.start() で呼ばれるのはWriteImp.java のpublic void run() の{中身}なんですよね?
そう考えると1つ上に書いてある private String text = null; は何か別の意味があるのでしょうか?
public void run() の{中身}しかコールされないのに、なんであんな位置に・・・

こりゃぁ、手強そうと思い、amazonで「スッキリわかるJava入門」ポチりました。
0080デフォルトの名無しさん2016/06/11(土) 00:47:14.15ID:NyI1yYzN
>>79
スッキリJavaは、実践編でないとスレッドの話はでてこない、残念

以下回答
WriteImp.javaのフィールドで変数textを宣言しているのは、
run()メソッドとsetText()メソッドの2つのメソッドでtextを使用しているから

setText()はmain()メソッドの中ほどで使われている(下記の部分)
//読み込んだデータを渡す
writer.setText(reader.getText());


main()メソッドの中身の簡単な流れを以下に
WritelmpとReadlampをインスタンス化(writer, reader)
↓
readerのrun()メソッドをスレッドとして実行、join()する
↓
readerのtextの内容をwriterのtextに渡す
writer.setText(reader.getText());
↓
writerのrun()メソッドをスレッドとして実行、join()する

以上
0081デフォルトの名無しさん2016/06/11(土) 00:52:49.52ID:NyI1yYzN
>>80
追記

下のreaderThread.join()はwriterThread.join()の間違えたでいいと思う
0082デフォルトの名無しさん2016/06/11(土) 08:54:03.40ID:mzLyb6AV
本に出てるコードって実行確認しないで書いてるのかと思う時あるけどあり得るのだろうか?
0083デフォルトの名無しさん2016/06/11(土) 10:53:40.26ID:igPKgwcR
>>82
あまりにも短くて簡単なサンプルプログラムだとあるかもな。まあ、著者がどういう人かにもよるだろうけど。
0084デフォルトの名無しさん2016/06/11(土) 13:19:09.25ID:ppFl8ALU
実行してるのは著者じゃなくて実は編集担当だったりする
0085デフォルトの名無しさん2016/06/11(土) 16:09:28.63ID:Z8akOUlB
>>80
ありがとうございます。

run()メソッドとsetText()メソッドの2つのメソッドでtextを使用するのだから、共通で定義したいためこの位置で定義してる。
ということは、
例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるからrun()の書いてあるclass全部を読み込んでいる
という理解でいいですか?

追加質問ですみません
この場合に、run()以外のメソッドが複数あったとして、そのrun()以外のメソッドでのみ使用する変数をこの位置に宣言すると、
run()メソッドを実行するステップでは無駄にヒープ食っちゃうってこと?ですよね。
0086デフォルトの名無しさん2016/06/11(土) 17:45:22.19ID:8E7fVOdN
>>85

Javaの場合、参照型の変数をメソッドやコンストラクタの引数として渡した場合、参照先が渡される
なので、
readerThread.start();
で実行されるのは、readerインスタンスのrun()メソッド

Thread readerThread = new Thread(reader);
いくらReadlmpクラスが大きくても、↑で使われるヒープ領域の大きさは変わらない

参照の話があいまいなら、スッキリの入門は役に立つと思う
0087デフォルトの名無しさん2016/06/12(日) 06:24:35.36ID:jEWcwNCz
javaでツールを作れるようになるにはどういう順番でこれらの本を読めばいいですか?
まだjavaどころかプログラミング自体初心者なんですが・・・
スッキリ分かるjava入門 ← これは読みました
スッキリ分かるjava実践編
スッキリ分かるSQL入門
スッキリ分かるサーブレット&JSP編
0088デフォルトの名無しさん2016/06/12(日) 06:55:00.43ID:E6s9UVRT
ツールってなんだよ。
GUI作るならJavaFXの書籍でも買ったら?
WebならSpringBootとかが簡単。
0089デフォルトの名無しさん2016/06/12(日) 07:07:57.13ID:jEWcwNCz
そうですねGUIでツールとか作ってみたいです
ただプログラミング関してはスッキリ分かるjava入門しか読んだことがないくらいの初心者なので
難しいとこに一気に行かないで凄い簡単なところから押さえていきたいと思ってます
0090デフォルトの名無しさん2016/06/12(日) 07:18:20.29ID:jEWcwNCz
教えていただいたjavaFXで検索してみて
http://libro.tuyano.com/index2?id=8356003という入門サイトを見つけたのですが
最初から難解すぎて無理でした
やっぱりもっと難易度の低いことからやっていきたいんですがどうすればいいですかね?
0091デフォルトの名無しさん2016/06/12(日) 07:29:40.94ID:E6s9UVRT
>>90
スッキリ分かるjava入門をちゃんと理解していればわかるレベルだと思うけれど・・・。
もう一度読み直すことをおすすめする。
分からないようなら別の入門書を買うと良いかな。
0092デフォルトの名無しさん2016/06/12(日) 07:32:13.73ID:iLaG31hG
android向けアプリなら、android studioとか
0093デフォルトの名無しさん2016/06/12(日) 07:54:15.23ID:jEWcwNCz
>>91
本当ですか
でもnew TextField()こういう書き方は自分の読んだ本では習ってないですし
text field ts = new textfield() 自分が習ったのは今のとここういう書き方だけなので
やってないことがいきなり説明なしで出てくるのは入門者にはきついなーと。
でも読み直してみますね
>>92
PC向けのアプリを作れるようになりたいです
もう一冊なんかjava入門署買った方がいいですかね?
0094デフォルトの名無しさん2016/06/12(日) 09:52:43.64ID:t/75fpdt
>>93
よくソース嫁
ちゃんとfield = new TextField()になってるから
0095デフォルトの名無しさん2016/06/12(日) 18:31:57.63ID:0Tx3x2++
ほんとだ、見落としてました。すいません
何か問題集みたいのやってからjavafxやってみます。ありがとうございます。
0096デフォルトの名無しさん2016/06/12(日) 20:39:25.19ID:nE4rQ5a5
           YES → 【ヒットした?】 ─ YES → なら聞くなよ。死ね。
         /                \  
【検索した?】                     NO → なら、ねぇんだろ。死ね。
         \                   
            NO → ググれカス
0097デフォルトの名無しさん2016/06/12(日) 22:59:55.02ID:M5SgNxqb
ここ質問スレだしな
嫌なら見なければいいんじゃね
0098デフォルトの名無しさん2016/06/13(月) 01:06:10.78ID:wz/IwBiJ
初心者スレだから本スレと同じノリでやられてもね
本当に嫌なら見なければいいだけ
0099デフォルトの名無しさん2016/06/13(月) 23:56:41.17ID:MswW6dFx
>>80,86

先程、スッキリJavaの6章までは、理解しにくい箇所もなくあっさりと読めました。7章からがオブジェクト指向関連みたいです。

うんーん >>85 で書き込んだ
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?

これがまだしっくりこない。
writerThread.start();で呼ばれるのがrun()の中身と解説あるのに・・・うーん
今後、勉強を進めていったら納得できるのだろうか。

スレッドに関しては、今の本には載ってないとの御指摘がありましたので、
スッキリ分かるjava実践編 ポチってきますわ
0100デフォルトの名無しさん2016/06/14(火) 02:03:19.71ID:BG5MvUh2
たぶん言語処理系がどういう挙動をしてるのかイメージ出来てないんだと思う
メモリ配置と密接なC言語とかを多少触ってみるのもいいかも知れないね
0101デフォルトの名無しさん2016/06/14(火) 06:50:12.56ID:OkjQ5JpN
>>99
オブジェクトの部分で躓いてるようなので、スレッド抜きに考えてみる

        Readlmp reader = new Readlmp();
        Writerlmp writer = new Writerlmp();

        reader.run();

        writer.setText((reader.getText());

        writer.run();

main()メソッドの一部抜粋で、スレッド抜きにするとこんな感じ

インスタンス化すると、ヒープ領域にclassのコピーが作られる(staticメンバ以外)
そのコピー(reader,writerインスタンス)のrun()メソッドが実行される


>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?

スレッドのインスタンスを生成するときに、reader,writerを引数に渡している
つまり、あらかじめ作ったclass全部のコピーを渡しているということ(正確にはコピーの参照先)
それでスレッドは、reader,writerインスタンスのrun()メソッドを実行している

スレッドの生成をしたときにclass全部を詠み込むのか?
この質問だと、順序が逆で
class全部を詠み込んだもの(インスタンス)を使って、スレッドを生成をしている、ということ

6章までこのペースで理解できてるって、かなり早い
実践編の方は、オブジェクトを使いこなす方法がかかれているから、この辺の事も理解が深まるかもしれない
0102デフォルトの名無しさん2016/06/14(火) 06:54:37.25ID:lIuNMU+7
自分も入門書を読んでるんですが
interfaceとabstractの使い分けと違いがよく分かりません。
どういう風に使い分ければいいんでしょうか?
0103デフォルトの名無しさん2016/06/14(火) 08:24:35.05ID:ezeB3LKI
普段は省略してるがinterfaceはabstractが宣言されている
強調したいなら使ってもいいことになっている
0104デフォルトの名無しさん2016/06/14(火) 08:37:29.57ID:lIuNMU+7
>>103
すいません、言葉足らずでした
abstractクラスとinterfaceのクラスの違いです
どっちも似たようなものだと思うのですが、どう使い分ければいいですか?
0105デフォルトの名無しさん2016/06/14(火) 08:37:37.88ID:BcKyLCvc
>>87-95
ツール作りなら、まずスッキリJavaで、オブジェクト指向を学ぶ

その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版

これでひとまず基礎ができるから、その後、JavaFX・C#・VB など、進路を決めればいい

>>102
interfaceは継承と関係ない。お手軽な機能付加。
ダックタイピング。何でもアヒルのように鳴くものは、アヒルでいい

abstractは継承の親クラスで、それ自体は実体化しないもの。
概念だけの親クラス

例えば、3角形・4角形・円クラスが実体化できるとき、
親クラスに実体化できない、図形クラスを作り、そこに図形の共通概念を、持たせる
0106デフォルトの名無しさん2016/06/14(火) 09:30:09.41ID:w21XDQC+
そういや Java 8 からは interface なのにメソッド持てるようになったらしいが、うなると普通のクラスや abstract グラスとの違いは多重継承できるか否かだけにならんか?
0107デフォルトの名無しさん2016/06/14(火) 09:30:37.41ID:w21XDQC+
うなると、じゃねえ、そうなるとだ。w
0108デフォルトの名無しさん2016/06/14(火) 10:01:04.02ID:lIuNMU+7
>>105
あ、関係ないものなんですね。どっちも抽象的な物で使い方も一緒で違いが分からずもやもやしてました
ありがとうございます
0109デフォルトの名無しさん2016/06/14(火) 10:08:10.94ID:YK2fMq3I
>>106
インターフェイスは状態の保持はできない(static finalで共通のは持たせることはできるが)
あとメソッドのアクセス修飾子もpublicのみだし
0110デフォルトの名無しさん2016/06/14(火) 13:59:47.46ID:BcKyLCvc
abstract : is-a は継承
interface : has-a は機能・部品を持つ。ダックタイピング

継承は、車・消防車、哺乳類・人間みたいな関係

interfaceは、無関係な機能を組み合わせたもの。
冷蔵庫や携帯電話に、インターネットできる画面を付けたなど
0111デフォルトの名無しさん2016/06/14(火) 14:27:20.53ID:YK2fMq3I
このレベルの初心者に用語だしてこういうものって言っても多分わからないと思うぞ

まずそれぞれ実装時に何が出来るかだけでいいんじゃないか
0112デフォルトの名無しさん2016/06/14(火) 15:45:01.46ID:SkK7ctA3
オブジェクト志向はアルゴリズムの実装と相性が悪い。
0113デフォルトの名無しさん2016/06/14(火) 15:51:31.26ID:SkK7ctA3
今、HTML5パーサーのJava実装とJavascript実装見てる。

Java実装はC++に機械的な変換を出来るように書かれているが、NOCPPという
キーワードでくくって、C++で必要ない部分が削除されるようになっている。
Javaはオブジェクト志向に特化しすぎたせいで、非常に冗長な記述を必要とする。

Javascript実装は仕様通りに冗長さのないコードとなっている。
しかしおそらくバグのないコードを書くのは困難だろう。

C++が一番書きやすそうに見えるが、しかし覚える事柄もまた一番多いだろう。
0114デフォルトの名無しさん2016/06/14(火) 20:47:19.11ID:k/dxUxLz
>>109
あ、そーか。そうだね。
0115デフォルトの名無しさん2016/06/14(火) 21:54:08.96ID:+YH//64E
みんな優しいんだな。

>>101
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?

Readlmp reader = new Readlmp();

 これはReadlmpクラスをテンプレにしたreader(ここでは単なるクラス変数名)を定義。
 Readlmpクラスのコンストラクタを引数なし呼び出して、インスタンスを作成してreaderと命名。

この時点で、Readlmpクラスはまるっと読み込んでますね。
後からディスパッチするrun()の時点では、Readlmpクラスまるっと読み込み済みのインスタンスを使ってるんですね。

少しずつ理解出来てきたような気がします。

皆々様、有難うございます。
0116デフォルトの名無しさん2016/06/15(水) 22:22:36.18ID:ornso/cN
有限会社ナレッジデザインのオラクル認定資格教科書『JavaプログラマSilver SE8』p.193 練習問題5-2について、解説を読みましたがよくわからなかったため質問させていただきます。

1. public class Test{

2. final int a;
3. Test(int b){a = b;}
4. void method(int c){a = c;}
5. public static void main(String[] args){
6. Test t = new Test(10);
7. t.method(20);
8. System.out.println(t.a);
9. }
10. }

上記のコードで2行目の変数aがfinalで修飾されているため定数になっていることはわかりました。
そして3行目で変数bを定数aに代入しようとしているためコンパイルエラーとなると判断しました。

しかし、解説では「このコードでは宣言時に初期化していませんが、コンストラクタを使用して初期化しているため問題ありません。4行目のmethod()によって値の変更を行おうとしているため、4行目でコンパイルエラーとなります」となっていました。
なぜ、3行目ではコンパイルエラーとならないのでしょうか?回答よろしくお願いいたします。
0117デフォルトの名無しさん2016/06/15(水) 22:37:42.91ID:ornso/cN
>>116
自己解決しました。
2行目では変数宣言しただけで初期値の代入を行っておらず、3行目で初期値の代入を行っているため、値を変更しようとしている訳ではないということですね。
低レベルな質問をしてしまいすみませんでした。
0118VHR12JC10V12016/06/16(木) 00:52:55.40ID:0zEDpCjN
AP層との通信に失敗しました。:[[A1S1E001E] com.fujitsu.mc.a1.scm.MCPiException@23435555
復帰コード = 7051 メッセージ = "予期せぬ例外"java.net.NoRouteToHostException"を検出しました。
[java.net.NoRouteToHostException: ホストへの経路がありません]" ログ出力済フラグ = true ]

12301866845301177551304949583849627207728535695953347921973224521517264005
07263657518745202199786469389956474942774063845925192557326303453731548268
50791702612214291346167042921431160222124047927473779408066535141959745985
6902143413
=
33478071698956898786044169848212690817704794983713768568912431388982883793
878002287614711652531743087737814467999489
X
36746043666799590428244633799627952632279158164343087642676032283815739666
511279233373417143396810270092798736308917
0119デフォルトの名無しさん2016/06/16(木) 06:14:57.31ID:SL8rnu8/
javaの入門書一冊読み終えたのですが
何か次にステップアップするのにお勧めな本教えてほしいです
0120デフォルトの名無しさん2016/06/16(木) 07:27:24.00ID:tOwQ8tvq
>>119

>>16
参照
0121デフォルトの名無しさん2016/06/16(木) 08:07:28.45ID:SL8rnu8/
>>120
ありがとうございます。そこは既に見たんですが同じシリーズの本しかなかったので
ほかにないかなと
0122デフォルトの名無しさん2016/06/16(木) 10:47:41.35ID:nWEOMA1G
コマンドライから任意の数字を入力できる
1〜6以外の数字の場合入力が不適切ですと表示させ入力を繰り返す
乱数を発生させて、入力した文字と比較させ勝ち負けを判定する

上記のプログラムを書きたいのですが任意の数字を打ち込むところができません。

途中までのソース
http://ideone.com/K0dpO1

助けてくだしゃい
0123デフォルトの名無しさん2016/06/16(木) 10:55:51.11ID:4Jb6Z0TN
if(1<= a && a <= 6)
0124デフォルトの名無しさん2016/06/16(木) 11:00:37.83ID:tOwQ8tvq
while(true){
System.out.println("1〜6までの数字を入力してください");
Scanner scan1 = new Scanner(System.in);

変数、scan1を使ってないじゃん

1行ずつ、デバッグ実行して、watch画面で、変数の内容を確認しながら、進めていく
0125デフォルトの名無しさん2016/06/16(木) 11:28:56.80ID:4Jb6Z0TN
Javaの宿題スレってないんだな
0126デフォルトの名無しさん2016/06/16(木) 11:39:41.46ID:rpc5DFq+
ここまでいったんだけど、最後のソースに到達しないみたい
main内に書いてると思うんだけど

改善後http://ideone.com/FxKBH2
0127デフォルトの名無しさん2016/06/16(木) 11:53:56.43ID:4Jb6Z0TN
breakしろ
0128デフォルトの名無しさん2016/06/16(木) 11:59:32.79ID:rpc5DFq+
できたわ。
助かった。
0129デフォルトの名無しさん2016/06/16(木) 12:26:51.68ID:0I01+HHK
while (true) を目にして動悸・息切れ・目眩などの諸症状に襲われずして
まともなプログラマにはなれない
0130デフォルトの名無しさん2016/06/16(木) 12:52:21.14ID:CbGXrP8u
やっぱ for (;;) でしょ
0131デフォルトの名無しさん2016/06/16(木) 14:17:45.10ID:C5pKIuJR
String.split()メソッドを使い、文字列を内部のピリオドで切り分けたいのですが
\(ピリオド)が未定義で使えません
どうしたら良いのでしょうか?
0132デフォルトの名無しさん2016/06/16(木) 14:18:29.15ID:rfuHgD6o
\\.
0133デフォルトの名無しさん2016/06/16(木) 14:57:37.10ID:bI+aCDek
>>132
オゥ・・やってみます
有り難う御座いましたっ
01341322016/06/16(木) 17:51:30.93ID:GkUFfn3X
>>133
ちなみに一応説明しとくと
splitは性器表現だから文字としてのピリオドを認識させたい場合にはエスケープ文字の\をつけて「\.」とする必要がある。
Javaの文字列「\.」を表示する場合、Javaでも\はエスケープ文字となるから、文字としての円マークを認識させるには\\となる。
だから最終的に正規表現でドットを文字列として認識させたい場合「\\.」となる
0135デフォルトの名無しさん2016/06/16(木) 19:15:09.43ID:bI+aCDek
なるほど
java制御文字→正規表現での解釈と二重構造なんですね 勉強になりました
0136デフォルトの名無しさん2016/06/16(木) 20:31:12.17ID:s0EsHX7v
性器表現

なんという素晴らしい表現
0137デフォルトの名無しさん2016/06/16(木) 20:41:42.52ID:25qEXxzA
javaとかいう糞言語
速くもないし可読性も悪い
色んな書き方が出来るせいで
コーディング規約が難解で誰も守らないという
0138デフォルトの名無しさん2016/06/16(木) 20:53:19.99ID:s0EsHX7v
>>137
じゃあお前が理想の言語作れ
とりあえずJavaへのコンバーターでもいいから
0139デフォルトの名無しさん2016/06/16(木) 22:07:02.77ID:KwcabU8B
ど素人です...javaを始めたばかりで、くだらない質問ですが、どなたか助けて頂けないでしょうか?複数選択のチェックボックスについて、質問があります(T_T)エクリプス環境下で開発しています。
0140デフォルトの名無しさん2016/06/16(木) 22:44:29.82ID:91QZsnGl
>>139
で、質問は?
0141デフォルトの名無しさん2016/06/16(木) 22:57:50.42ID:KwcabU8B
ご返信ありがとうございます。
複数のチェックボックスを選択し、DAOでselectとupdateで、DBへ書込みと更新をしたいです。
その際に、チェクされたものは「1」へ格納され、最終的にJavaのarray<string>に"01,02..."のように入れたいです。
現在、エンティティとダオは読み込めているようなのです。チェックされたものを「1」へ格納され、list化する部分がわかりません。javaで、if文で格納で良いのでしょうか?
文章力知識共にないので、乱雑な文章をお許しください。
0142デフォルトの名無しさん2016/06/16(木) 23:11:25.70ID:L6uV1SZP
「1」へ格納の意味が分からん
0143デフォルトの名無しさん2016/06/16(木) 23:24:42.80ID:KwcabU8B
>>142
チェックされたものは、「1」。チェックされなかったものは「0」で置いておきたいです。別ページで、チェックされたものを再度読み込んで表示するためです。
0144デフォルトの名無しさん2016/06/16(木) 23:54:29.08ID:L6uV1SZP
チェックボックスってJCheckBoxとか?jsp?
0145デフォルトの名無しさん2016/06/16(木) 23:59:32.86ID:KwcabU8B
>>144
(h:selectManyCheckbox)をxhtmlで入れています。
0146デフォルトの名無しさん2016/06/17(金) 00:11:56.31ID:oUaRcFkA
登録ボタン押したときにjava側にチェック状態渡せてんなら>>141で言ってるように

List<String> checkList = new ArrayList<String>();
if(チェックされてれば){
checkList.add("01");
}

てな事をやれば良いんじゃない
0147デフォルトの名無しさん2016/06/17(金) 00:20:45.56ID:YeXpyiC7
>>146
そうですよね...本当に初歩なのですが、登録ボタンは、xhtmlに入れて良いのですよね?
それから、if()←の()内が、私が理解出来ていないのかもしれません。checkbox=checkedで良いのでしょうか?
0148デフォルトの名無しさん2016/06/17(金) 00:39:52.03ID:oUaRcFkA
すまんがJSFを使ったことが無いので分からん

あと値の比較は==だ
多分その感じだとBeanクラス作ったりBean指定したりも出来てないんじゃ無いか?

いきなり難しいことから始めないでjavaの勉強を先にした方が良いぞ
0149デフォルトの名無しさん2016/06/17(金) 00:43:39.00ID:YeXpyiC7
>>148
ご指摘、ありがとうございます(T_T)
その通りなんです...ただ仕事で、始めから作ってみろーみたいになってしまっていて。もうどうして良いか...本当に、訳のわからぬ者に答えていただき、感謝です。
0150デフォルトの名無しさん2016/06/17(金) 00:47:50.71ID:oUaRcFkA
それは酷いな
最初のうちはとにかく聞きまくるしか無い
0151デフォルトの名無しさん2016/06/17(金) 00:54:11.22ID:YeXpyiC7
>>150
そうですよね...なんだか、とっても背中を押して頂いた気がします。有難いです。
0152デフォルトの名無しさん2016/06/17(金) 01:00:02.96ID:jYlDfS4o
会社なら、他にリソースあるだろ
■ このスレッドは過去ログ倉庫に格納されています