Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/30(金) 22:14:16.54ID:W0OUnv8/
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.3
http://mevius.2ch.net/test/read.cgi/tech/1491306071/
2デフォルトの名無しさん
垢版 |
2017/06/30(金) 22:24:35.84ID:f3bJ3XCJ
ちょつ
3デフォルトの名無しさん
垢版 |
2017/06/30(金) 22:34:49.42ID:k0YageAz
1乙です

前スレ>>993です
レスくれた方々ありがとうございます
勉強会行ってきたいと思います
2017/06/30(金) 22:36:43.35ID:W0OUnv8/
ぬるぽ
2017/06/30(金) 22:38:18.96ID:f3bJ3XCJ
>>3
おう、がんばってね〜
2017/06/30(金) 23:28:02.19ID:zWHlEWrp
一乙です

クラスのインスタンスを作るのに

ClassA class = new ClassA();
こうやると思うんですが


new ClassA();
このようにイコールより左側がないものはどう言う意味があるのでしょうか?
2017/06/30(金) 23:31:30.37ID:W0OUnv8/
>>6
インスタンスを作るだけ作って変数に固定せずに虚空送りしてる、インスタンスの生成自体に意味があるとかじゃなかったらそのままGC送りやな
2017/06/30(金) 23:44:06.33ID:zWHlEWrp
>>7
そういう意味があるんですね

プログラムのサンプルとかそういうので使われるのですかね

ありがとうございます
2017/06/30(金) 23:55:42.12ID:W0OUnv8/
あんまりよくはないんだけど
new Thread(runnable).start();とかよくやる
2017/07/01(土) 00:09:29.12ID:mdEe7tMk
スレッドですか
まだその域まで達してないのであんまり分からないですがありがとうございました
2017/07/01(土) 03:56:44.50ID:kUHEe2gf
java関連のスレはほんと回答適当すぎて笑える
相談スレの方も馬鹿しかいないし落としてもう立てない方が逆に初心者のためになるな
2017/07/01(土) 04:59:05.43ID:jPgMAsSe
サブクラスのコンストラクターにvoidを記述するとsuper();が暗黙的に付加されないみたいなんですけど
これはどういう仕組みなんですか?
2017/07/01(土) 05:08:57.26ID:jPgMAsSe
すみません自己解決しました
2017/07/01(土) 07:04:09.94ID:N+ZXroXE
>>12
voidなどの型修飾子をつけるとコンストラクタではなくメソッドになるから
なのでデフォルトコンストラクタが呼び出されるのでその時にsuper()が内部的に
呼び出されます
2017/07/01(土) 10:17:47.36ID:bYmbgrjm
  彡⌒ミ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>4
 (_フ彡        /
2017/07/01(土) 11:17:45.15ID:WO7UFR41
抽象クラスに総称型を使って各々のサブクラスで型(Bean)を決めるってのは
総称型の役割からするとかなりマヌケなのかな

エラー情報を貯めておくためのリストのラッパーを作ったけど複数のBeanに対応できるよう多態性を持たせたい
でもエラー情報を持ってきたときにどうやってメンバにアクセスするのだろうと考えたとき
堂々巡りになって色々モニョってる……
2017/07/01(土) 13:24:42.71ID:jPgMAsSe
>>14
分かりやすくありがとうございます
2017/07/01(土) 13:51:03.87ID:Ke61Tipi
いまabstractクラスを使って警告がでているんですが
abstractなくせば警告も消えるのは確認しました
こういう事したい場合はどうすればいいでしょうか?

abstract class A{}
class B extends A{}
class C extends A{}
class D{function(A a)}<------------------------警告
class E{D.function(B);D.function(C)}<---こういう感じで使いたい
19デフォルトの名無しさん
垢版 |
2017/07/01(土) 18:28:47.32ID:JnV2l3hP
>>18
できるよ。
https://paiza.io/projects/PXpUGM1lQOWByECT1SIaxA
出ている警告ってなに?
20デフォルトの名無しさん
垢版 |
2017/07/01(土) 20:03:20.47ID:lLi0bV67
2回目のmenu()の中でNoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
なぜですか?
public class Menu {
public static void main(String[] args) {
while(menu()) {
;
}
}

static boolean menu() {
System.out.print("[メニュー] 1:検索 2:登録 3:削除 4:変更>");
java.util.Scanner sc = new java.util.Scanner(System.in);
int selected = sc.nextInt();
boolean repeat = true;
switch(selected) {
case 1:
System.out.println("検索します");
break;
default:
repeat = false;
break;
}
sc.close();

return repeat;
}
}
21デフォルトの名無しさん
垢版 |
2017/07/01(土) 20:17:15.29ID:n4lkpTxn
javaに限ったことじゃないかもしれんが
for文で同じ処理回して一回ごとの時間測ったら、
20回目くらいまでで10ms〜2.0msの範囲で処理時間がバラバラなのはなぜでしょう?
それ以降は1.5msくらいで安定します
2017/07/01(土) 20:23:24.51ID:N+ZXroXE
>>21
OSが一生懸命他のプロセスとこんてきすとすいっちんぐぅしてるからでしょ
2017/07/01(土) 20:23:55.79ID:/jfxBAab
>>21
JIT走ってるからだと思う
2420
垢版 |
2017/07/01(土) 21:08:56.37ID:lLi0bV67
何度もすみません。
こっちも同じ例外で落ちます。
なぜでしょうか?
public class GuessNumber {
____public static void main(String[] args) {
________System.out.println("【数あてゲーム】");
________java.util.Random rnd = new java.util.Random();
________int ans = rnd.nextInt(10);
________for(int i = 0; i < 5; i++) {
____________System.out.print("0〜9の数字を入力してください");
____________java.util.Scanner sc = new java.util.Scanner(System.in);
____________int num = sc.nextInt();
____________if(num == ans) {
________________System.out.println("アタリ!");
________________break;
____________} else {
________________System.out.println("違います。");
____________}
____________sc.close();
________}
________System.out.println("ゲームを終了します");
____}
}
2520
垢版 |
2017/07/01(土) 21:10:26.90ID:lLi0bV67
Java初日の初心者です。
2017/07/01(土) 21:23:33.49ID:alsfhIt3
>>24
ループ内でScanner閉じちゃってるからじゃないかな
2017/07/01(土) 21:28:39.22ID:lLi0bV67
>>26
ありがとうございます。確かにsc.close()をコメントアウトすると落ちません。
C++のnewとdeleteと同じようなものではないのですね。
難しいです・・・
2017/07/01(土) 21:41:21.41ID:alsfhIt3
>>27
JavaではGCが勝手にメモリの整理してるから消さなくてもメモリは圧迫しない、けど入出力ストリームは勝手に閉じたりしないから使わなくなったら閉じないといけない
もし閉じるとしたらループの外やな
2017/07/01(土) 21:46:02.26ID:lLi0bV67
>>28
ありがとうございます。
java.util.Scanner sc = new java.util.Scanner(System.in);

sc.close()をループの外に出しました。
ガーベッジコレクション、今読んでいる本に出てきました。
2017/07/02(日) 07:45:48.42ID:EUXzW2jq
>>11
どう違うか明示できない時点でお前はこのスレでは初心者にも劣る生き物
このスレを見る資格すらない
2017/07/02(日) 09:35:31.87ID:id+DUBbF
>>19
[公開 API を使用して非公開な型をエクスポート]
っていう警告です
文法的に問題ないようだったらこのまま使おうとおもいます
32デフォルトの名無しさん
垢版 |
2017/07/02(日) 10:17:30.58ID:iWpJKrQI
>>31
何が非公開になってるの?
ソース出してよ。
2017/07/02(日) 12:04:10.63ID:98t5/5H2
>>18
パッケージとアクセス修飾子も書いて
警告消すのにほんとにabstract消しただけ?abstract消して代わりにpublicにしたりしてんじゃないの?
2017/07/02(日) 13:02:08.09ID:id+DUBbF
>>32-33
それでした
public abstarctにしたら消えました
アクセス修飾子ちょっと勉強してきます
2017/07/02(日) 20:23:31.52ID:75F+/mNi
画像回転させるときにどっちの方法使いますか?
理由も教えてください

---A---
affin.setToRotation(45 * Math.PI/180, 90d, 40d);
g2.setTransform(affin);
g2.drawImage(img, x, y, w, h, p);

---B---
affin.translate(x - w / 2, y - h / 2);
affin.rotate(Math.toRadians(-1.0 * angle), w / 2, h / 2);
g2.drawImage(image, affin, p);
36デフォルトの名無しさん
垢版 |
2017/07/02(日) 23:34:59.11ID:ynDhLM7Z
3Dの基本だけど、回転・移動・拡大縮小には順番がある

回転・拡大縮小には、中心・基準点があるけど、移動にはない。
だから、中心がずれるかどうかを考える

サンプルを作って、順番を変えて、やってみればすぐわかる
2017/07/03(月) 20:53:46.38ID:IK55Tf5G
パネル上で二つの画像を合成してそれぞれの色の濃いところを取りたいのですが可能でしょうか?
2017/07/03(月) 23:17:10.77ID:ZCcMo8Ox
JavaFXの勉強始めたのですが
FXMLについて詳しく書かれた資料がかなり少ないのですが、なぜなのでしょうか?
39デフォルトの名無しさん
垢版 |
2017/07/03(月) 23:27:51.37ID:/YkvVirN
>>37
たいていの言語で出来るから、たぶん可能
2017/07/04(火) 00:22:11.91ID:zgquPXQo
>>38
誰もJavaFXなんて使ってないから
2017/07/05(水) 19:06:50.67ID:VqLIFbvi
FX
 明るい未来の
  テクノロジー
             オラクル
2017/07/05(水) 19:11:10.97ID:iTofb717
JavaでFX必勝プログラムは作れますか?
2017/07/05(水) 19:34:37.95ID:TQbmoJaL
エンバカさん、JBuilder FX作ってよ
JBuilder ver7位使い易いのをお願い
44デフォルトの名無しさん
垢版 |
2017/07/07(金) 00:52:21.45ID:SDWyglyj
リスナーで処理Aを待機してBを実行、という仕様をforループ内で使用したいです
************************************
hoge.~~.addListener( {
if(Aの実行完了を確認){
Bの実行
});
Aの実行
************************************
雑ですがこのようなもので、単体では思い通りに動きます
ですが処理Aの所要時間が長く、ループにするとAが完了する前にループが回りきってしまい
1つのAが動作を終えると全てのリスナーがその1つの結果に対して動き出してしまいます
理想としてはA,B,A,B,… のようにそれぞれ交互に処理されることです
どなたか良い方法をお持ちではないでしょうか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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