Java入門・初心者質問スレ Part.10

■ このスレッドは過去ログ倉庫に格納されています
2020/04/01(水) 15:09:15.95ID:9COIb57q0
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.9
https://mevius.5ch.net/test/read.cgi/tech/1552143555/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
233デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/22(金) 13:43:34.34ID:MygyNOFw0
質実剛健、完璧堅牢、Java
2020/05/22(金) 18:14:14.93ID:0HVeN7gU0
あのレベルでJAVAをマスターしたって言っていいのか!
それじゃあ今日から自分もJAVAマスターだ!
235デフォルトの名無しさん (ワッチョイ 3761-f9m4)
垢版 |
2020/05/22(金) 18:46:31.08ID:QUisHt510
RuntimeExceptionなんて名前を付けちゃったから混乱するんだけど、
IOExceptionやSQLExecptionなども「実行時例外」ではあるぞ。
236デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/22(金) 18:56:33.04ID:MygyNOFw0
すごーい
2020/05/22(金) 21:03:08.85ID:veQ7/4xe0
>>235
それは検査例外
238デフォルトの名無しさん (ワッチョイ 9a61-f9m4)
垢版 |
2020/05/23(土) 11:41:11.01ID:VbPuW/L00
Javaは非チェック例外をRuntimeExceptionとしたが、
チェック例外も非チェック例外も実行時例外であることに変わりない(だからカッコ付けたんだけど)。
RuntimeExceptionを実行時例外と訳すのは、Classクラスをクラスクラスと訳してしまう同じ過ち。
2020/05/23(土) 11:56:00.95ID:UKShC8hO0
>>238
文法や構文の誤りはコンパイル時に検出されるけど例外は実行時にスローされるのだからすべて「実行時例外」だという主張ですか?
実行時例外をそんな意味で使ってる人見たことないです
240デフォルトの名無しさん (ワッチョイ 9aad-SEkD)
垢版 |
2020/05/24(日) 05:08:04.89ID:vB1Q/4mw0
Kotlinもよろしく
2020/05/24(日) 23:54:16.19ID:q2M3xOHv0
質問です。

https://ideone.com/K2YLZm
上のコードでは、なぜNoSuchElementExceptionが発生するのでしょうか?

どなたかよろしければ返答よろしくお願いします。
242デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/25(月) 00:25:50.67ID:Ou5xo5qn0
>>241
ScannerがInputStreamをバッファリングして読み込んでてInputStreamが空になってるからでしょ
Scannerを共有すれば良い
2020/05/25(月) 15:20:08.37ID:6axksZvO0
>>242
回答ありがとうございます。
でも俺頭が悪いのでそれがどういうことなのかよく分からないです…。

修正はしてみました。
https://ideone.com/ZA15Gv
こんな感じでよろしいでしょうか?
2020/05/25(月) 15:36:45.55ID:6axksZvO0
すいません、間違えました。
正しいリンク先は以下です。こちらをご参照下さい。
https://ideone.com/zK0JTK
245デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/25(月) 15:37:03.60ID:Ou5xo5qn0
>>243
詳細はこの辺参照

FIO06-J. 1つの InputStream に対して複数のバッファ付きラッパーを作成しない
https://www.jpcert.or.jp/java-rules/fio06-j.html

修正はそんな感じで良い
引数で渡しても良い
https://paiza.io/projects/kXQ8hCf_3TDfBZYmoUQ2LA
2020/05/25(月) 16:10:14.87ID:6axksZvO0
>>245
回答ありがとうございます。

>>241>>244では別メソッドという観点からアプローチしましたが、
本当は>>243のように別のクラスでどうか、という観点でやりたかったんです。

JPCERTの記事はまだ理解出来ていませんが、
・別メソッドでScannerを使う場合は、そのクラスのフィールドでscanner変数を宣言してそれぞれ利用
・別クラスで使う場合は、scanner変数ををstatic付きで(Mainクラス等に)宣言し、クラス変数としてそれぞれ利用
という理解でいいですかね?

以下は、後者の場合のコード作成例です。
https://ideone.com/3YvgD5
247デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/25(月) 17:11:26.36ID:Ou5xo5qn0
>>246
どうしてエラーになるかの説明でリンクを貼った

どういう理由でクラス分けようとしてるのかわからないけど
フィールドにScannerをもたせるならこうじゃないかな
https://paiza.io/projects/kIlKd0LmbbTwohyXEL0Glw

可変のフィールドをパブリックに公開するのは責任の範囲がわからなくなるので
よろしくないし、それに依存するクラスもよろしくないと思うよ
248デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/25(月) 17:24:28.23ID:Ou5xo5qn0
一般論としてはだけどね
結局のところなんでもあり
249デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/25(月) 17:25:10.64ID:Ou5xo5qn0
動けば正義
2020/05/25(月) 18:09:13.78ID:6axksZvO0
>>247-249
ありがとうございました。

理解できてないというのは、意図が分からないということではなく、
読んでみたものの内容が理解できなかったという意味です。

ちょっと俺にはその水準のコードはまだ書けないですね。
もう少し本を読んでみようと思います。
251デフォルトの名無しさん (ワッチョイ 5a7c-rJCj)
垢版 |
2020/05/26(火) 13:44:52.25ID:RAWR5qso0
超はじめたてです。質問があります。

関係演算子と分岐分を用いる問題です。

「int型の変数a,b,cを宣言し、それぞれ適当な整数を代入する。
a.b.cのうち最大値を求めてその値を表示してください」というコードはどうすればいいですか?
252デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 13:58:27.88ID:rvZgOtV/0
>>251
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 System.out.println(max(max(a, b), c));
}

static int max(int x, int y) {
 if (x >= y) {
  return x;
 } else {
  return y;
 }
}
253デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:01:28.38ID:rvZgOtV/0
もしくはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 if (a >= b) {
  if (a >= c) {
   System.out.println(a);
  } else {
   System.out.println(c);
  }
 } else {
  if (b >= c) {
   System.out.println(b);
  } else {
   System.out.println(c);
  }
 }
}
254デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:03:04.65ID:rvZgOtV/0
あるいはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 System.out.println(Stream.of(a, b, c).max(Integer::compareTo).get());
}
255デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:04:39.34ID:rvZgOtV/0
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 System.out.println(Stream.of(a, b, c).reduce((x, y) -> x >= y ? x : y).get());
}
2020/05/26(火) 14:07:14.22ID:9m0COC3M0
荒らすなゴミ
257デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:09:36.09ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 int[] xs = {a, b, c};
 Arrays.sort(xs);
 System.out.println(xs[xs.length - 1]);
}
258デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:11:53.33ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 TreeSet<Integer> tree = new TreeSet<Integer>();
 tree.add(a);
 tree.add(b);
 tree.add(c);

 System.out.println(tree.last());
}
259デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:17:23.59ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(Comparator.reverseOrder());
 maxHeap.add(a);
 maxHeap.add(b);
 maxHeap.add(c);

 System.out.println(maxHeap.remove());
}
260デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:19:48.13ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 int[] xs = {a, b, c};
 int max = 0;

 for (int i = 0; i < xs.length; i++) {
  if (i == 0 || xs[i] > max) {
   max = xs[i];
  }
 }

 System.out.println(max);
}
261デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:21:57.57ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 int max = a;

 if (b > max) {
  max = b;
 }

 if (c > max) {
  max = c;
 }

 System.out.println(max);
}
262デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:25:18.85ID:rvZgOtV/0
>>253
これバグってるwごめん
263デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:42:03.35ID:rvZgOtV/0
あれバグってなかった、天才でごめん
264デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 14:44:26.65ID:rvZgOtV/0
>>256
つまりこう
public static void main(String[] args) {
 int a = 1;
 int b = 2;
 int c = 3;

 System.out.println(a >= b ? a >= c ? a : c : b >= c ? b : c);
}
2020/05/26(火) 14:46:23.47ID:gtoMtdIk0
>>251
3枚のトランプa,b,cがあったとき、どうやって一番大きい数字のカードを見つけるかを、まずは日本語で順を追って書いてみな。
初めから効率とかきれいに書こうとか考えず、漏れなく正しく判断する手順を考える。
選んだカードの比較結果によって次に行う手順が変わるから、そういう可能性を漏れなく考えて、a,b,cがどんな組み合わせでも大丈夫な方法を見つける。
ここまででちゃんときてから、実際にJavaのコードを書き始めてみな。
2020/05/26(火) 15:33:06.22ID:WdlDkKkA0
>>251
参考にするのはおそらく>>261だね
2020/05/26(火) 15:36:01.37ID:XukcPGMU0
そもそも質問者がどこまで出来たかの確認が先では
268デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 15:59:31.21ID:rvZgOtV/0
>>256
どこまでできたん?
269デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 15:59:55.46ID:rvZgOtV/0
あ、ごめん、間違えた
270デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 16:00:27.57ID:rvZgOtV/0
>>251
どこまでできたん?
2020/05/26(火) 16:01:01.71ID:q+hnim2U0
【悲報】まさかのMath.max(int, int)氏
これだけコードを書かれたのに存在を無視される
2020/05/26(火) 16:56:54.52ID:9m0COC3M0
キチガイ警報

ID:rvZgOtV/0
2020/05/26(火) 17:07:36.78ID:WdlDkKkA0
>>271
初心者だが普通に参考になったわ
あざす
274デフォルトの名無しさん (ワッチョイ 7601-o1js)
垢版 |
2020/05/26(火) 17:12:24.95ID:rvZgOtV/0
プリン先生のキレが悪い
2020/05/26(火) 17:25:13.92ID:inIOxWAr0
何このスレ、前からこんなだっけ
2020/05/26(火) 17:58:20.90ID:xHxMFosX0
37歳だかの無職荒らし発達障害者が住み着いてこんな風になってしまった。
2020/05/26(火) 18:55:29.24ID:9m0COC3M0
なんか頭のおかしい奴がいつも一人で低レベルな質問と回答の自演連投してるんだよな
2020/05/26(火) 19:09:45.75ID:8pq5ym9A0
>>276
俺のせいじゃねーよ
人のやり取りに文句ばかり言って自分は何もしない奴のせい
2020/05/26(火) 21:18:50.58ID:xHxMFosX0
>>278
お前が37歳だかの無職荒らし発達障害者なのか?
人のせいにしてるんじゃねーよ。

>人のやり取りに文句ばかり言って自分は何もしない奴のせい
自分のことだろ。他人を検索システムや採点システムとしてしか見ていないで
ただ人に行為に甘えるだけの努力しない幼児が。
2020/05/26(火) 23:05:30.84ID:XukcPGMU0
どれが誰とかよく分かるな
2020/05/27(水) 17:20:06.78ID:UfstZGFs0
>>232
>Javaはマスターした、オブジェクト指向は完璧に理解したと豪語しているということを
そんなことは言ってない

>>279
>自分のことだろ。他人を検索システムや採点システムとしてしか見ていないで
>ただ人に行為に甘えるだけの努力しない幼児が。
そんなことはない 黙ってろ
282デフォルトの名無しさん (ワッチョイ 93b9-AV50)
垢版 |
2020/05/27(水) 18:23:32.22ID:cA9U77a90
>>7ってまだ続けられてるのかな
2020/05/28(木) 07:41:33.74ID:/Vusj6Nw0
荒らしの住処

Br37歳、広汎性発達障害のB型作業所通所35
https://medaka.2ch.net/test/read.cgi/dame/1589185839/
2020/05/28(木) 07:53:13.38ID:/Vusj6Nw0
過去にはこんな事も

720 名前: ◆BrBq2CJg6HGd [sage]
:2019/01/15(火) 17:39:56.71 ID:fyCw1kpR
>>711
Amazonで評判のいい本の内、なか見検索があるものということであの本になった。
それとスッキリ入門はマスター。
2020/05/28(木) 12:00:00.02ID:5Ki+INW40
俺のせいで変な奴連れてきちゃってすいません。
変なレスはスルーして下さい。
2020/05/28(木) 13:07:35.78ID:Ij/BzXFPp
>>285
お前が消えればいいんだよ
287デフォルトの名無しさん (ワッチョイ 93ad-atjb)
垢版 |
2020/05/29(金) 21:26:51.69ID:Ey9K/+fw0
throw
2020/05/31(日) 10:58:03.49ID:D+qUBqaG0
System.out.printlnに、日本語が含まれたプログラムをコンパイルするとき
文字化けするので、いつも-encording utf-8するのですがみんなそうなんですか?
2020/05/31(日) 12:10:18.82ID:wcfOBf6F0
うん、それはソースコードをUTF-8で書いてるってことだからとても良いことだよ
ソースコードをShift_JISで書けば-encoding指定を省略できるけど、いまさらShift_JISファイルを量産するのはおすすめしない
290デフォルトの名無しさん (ワッチョイ db01-5TGn)
垢版 |
2020/05/31(日) 13:00:48.17ID:0XZA+K880
>>288
ideでソース書いて実行する人がほとんどだと思う
javacを手打ちしてる人は少ないんじゃないかな
試しにjavacを実行してみたけど-encodingの指定は必要だった
入力するのが面倒ならbatファイルやps1ファイルにパラメータを書いておいて
batやpowershellからjavacを実行したり
gradleやmaven、antなどのビルドシステムを使ったり
ide使ったりとか
291デフォルトの名無しさん (オッペケ Sr8d-moxv)
垢版 |
2020/05/31(日) 17:10:18.30ID:mlVfSsWXr
Robert Sedgewick & Kevin Wayne著『Algorithms 4th Edition』に以下の記述があります。

『One of Java's characteristic features is its policy that references cannot be modified.』

この意味が分かりません。リファレンスを変更できないとはどういうことですか?
2020/05/31(日) 17:14:26.76ID:w6MuXuh+0
>>291
C/C++言語で言うところのポインタ(または参照)という意味だろう。
オブジェクトのインスタンスは動かせない。
2020/05/31(日) 17:20:54.04ID:mlVfSsWXr
>>292

回答、ありがとうございました。

メモリ上に存在しているオブジェクトのインスタンスの場所を動かせないという意味でしょうか?

たとえば、1000番地にあるオブジェクトのインスタンスを2000番地に動かせないということですか?

もし、そういう意味だとしての質問なのですが、オブジェクトのインスタンスを動かす必要なんて起こる場合があるんですか?
2020/05/31(日) 17:48:55.16ID:w6MuXuh+0
>>293
その辺は、C/C++が自由すぎて自分の靴も撃てるという話。そこまで行くとプログラムのマネジメントがおかしいとしか言えない。
2020/05/31(日) 17:52:43.57ID:hHIdU/aR0
>>293
いや、Cだと、
BYTE *ptr = top;
for ( i = 0; i < 100; i++ ) {
 (ptrを使った処理)
 ptr++;
}
とできるが、このptr++のようにポインタを変更する処理がJavaではできないという意味と見た。
なお、Javaでも、
TYPE aaa = new TYPE;
としておいて、もう一度、新たに
aaa = new TYPE;
とすることは出来るはずだが。
2020/05/31(日) 17:56:08.91ID:hm54d19c0
ちょっと違うと思う
modify referenceと言うように参照側を動かせるかどうかの話
Cの場合、たとえば配列を参照しているポインタをひとつインクリメントすると配列の次の要素を参照する
ポインタが指し示す番地を書き換えられるということ
Javaの場合、オブジェクトや配列に対する参照に加算するような概念がない
変数に新たな参照を代入して上書きすることはできても、既に作られた参照をずらしたり書き換えたりができない

その意味はJavaがCのような言語と比べて高級言語であるということ
2020/05/31(日) 17:56:40.29ID:hm54d19c0
かぶった
2020/05/31(日) 18:08:33.49ID:u66u8maC0
>>291
同じ章のQ&Aにある「What is a pointer?」に少し詳しい説明が書いてある
他の人が書いてるようにp++のようなポインタ演算ができないってこと
2020/05/31(日) 18:15:50.91ID:hHIdU/aR0
Javaは、アドレス演算子も無くて、Cの
BYTE *ptr = buf + i;
BYTE *ptr = &buf[i];
TYPE *ptr = &type_data_s[i];
に相当することができなかったと思う。
だから、結構めんどくさい事になる。
2020/05/31(日) 19:17:38.10ID:wcfOBf6F0
インスタンスの配置されたメモリアドレスを変更できないという理解でいいよ
そうすることで「効率的なガベージコレクションができる」と説明が続いているので

プログラマーが勝手にインスタンスのアドレスを変更したり他のメモリーに複製できてしまったらガベージコレクタがそのインスタンスを破棄できなくなる
2020/06/01(月) 00:31:11.05ID:7+WAnHBR0
「プログラマが」メモリアドレスを変更できない

ガーベッジコレクタがメモリアドレスいじる場合もある
どれくらいの頻度でそういう事するのか知らんけど
2020/06/03(水) 08:08:11.97ID:zIcbPltb0
swing を使ってプログラムを書いてるんですが、SwingWorker のなかで

@Override
public Integer doInBackground() {
int[] a = {0, 1};
System.out.println(a[2]);
・・・
}

とやってもEclipseのコンソールにエラーが表示されないんですけど、どうしてでしょう?
例外自体は投げられてるようで、その後のコードは無視されます。
2020/06/03(水) 08:25:05.25ID:mZPhGC330
Javaでは別スレッドで例外が発生しても無視される
その別スレッドが終了するだけでメインスレッドは何事もなかったかのように継続する

別スレッドの例外を補足したい場合はThread.uncaugtExceptionでリスナーを登録してね
2020/06/03(水) 08:48:13.09ID:zIcbPltb0
>>303
ありがとうございます。これから使い方を調べます。
305デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/03(水) 09:49:55.55ID:KDlF+5RH0
SwingWorkerは
doInBackgroundが別スレッドで処理されて
doneがedtで処理されて
doneの中で結果をgetするときに例外投げられるはず
2020/06/03(水) 10:16:35.97ID:zIcbPltb0
>>305
ほんとですね。今回 done の中で get してなかったので気がつきませんでした。
get を書いてみたらスタックトレースされました。
2020/06/05(金) 06:37:37.05ID:b57gX8cD0
>>250はJava初めてか?

http://java.sevendays-study.com/

ここから始めよう。
2020/06/05(金) 08:24:38.81ID:nh9lUkVe0
>>307
250はこれでもJavaを3年も勉強してるんだぜ
先日まで「Javaの基本はマスターした」「オブジェクト指向は理解している」と豪語していたくらい
2020/06/05(金) 19:59:51.15ID:Eo58qAp50
>>307
ありがとうございます。
そのレベルはもう大丈夫です。
Java Bronze持ってます。
2020/06/06(土) 09:43:08.60ID:jRzpaj1H0
instanceof が遅いって昔聞いて頻繁に呼ばれる箇所で使うの躊躇してたんだんけど
さらっと調べた限りじゃ、今はそんなことねーんかな
こういうのは実環境で実際ためしてみないとあれだけども
2020/06/06(土) 11:22:41.14ID:+gqsQGig0
今も昔もそんなことない
昔遅いと言われていたのはリフレクション

早すぎる最適化は諸悪の根元というセオリーがある
10倍100倍遅いと聞いてビックリして忌避するのは素人
たったの100倍、10万回呼ぶようなときに気にすればいい

instanceofは別の理由であまり使わない
オブジェクト設計が失敗してると多用しがち
312デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/06(土) 11:28:31.54ID:zvKvpyo/0
>>310
instanceofの方が速い
https://paiza.io/projects/oGHQb5yDMrdAWJ5c4rnlrg
2020/06/06(土) 20:10:57.73ID:30RcyY5a0
eclipse(プレアデス)で書いてます
同じパッケージに二つのクラスをいれて片方にコンストラクタ、片方はmain型でnewを実行しているのですが、
実行した際にメイン型が含まれていないと言われます
異常を示すマーカーはないです
314デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/06(土) 20:18:01.06ID:zvKvpyo/0
>>313
mainのソース見せて
315デフォルトの名無しさん (ワッチョイ 3e1d-dR+O)
垢版 |
2020/06/06(土) 20:50:55.03ID:30RcyY5a0
package ex3;
public class Naming{
public static void main(String[] args) {
Nanashi nanashi = new Nanashi(10, 10);
System.out.println(nanashi);
}
こんな感じです
NamingクラスからNanashiクラスのことは認識できているようです
2020/06/06(土) 21:40:24.14ID:Y0dTWwTX0
左側のプロジェクトエクスプローラーNamingを選択してアプリケーション実行
Nanashiを選択して実行するとNanashiにはmainがないからエラーになる
317デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/06(土) 22:01:32.73ID:zvKvpyo/0
>>315
mainは問題なさそう
318313 (ワッチョイ 3e1d-dR+O)
垢版 |
2020/06/06(土) 22:51:02.81ID:30RcyY5a0
>>316
実行するときに選択したのはパッケージなんですがそれで動かないです
Naming選択するとJavaアプリケーションでなくサーバーで実行しかできなくなります
319デフォルトの名無しさん (オッペケ Sred-uikQ)
垢版 |
2020/06/06(土) 23:34:51.73ID:8vbqghVGr
https://ideone.com/LpcGxJ

↑のコードですが、ideoneでは意図通りに動作します。

ところが、Eclipseで標準入力から用意した整数の入ったファイルを読み込ませても、最後の"Hello World"がプリントされません。
というか、プログラムが終了しません。

原因は何でしょうか?
2020/06/07(日) 00:09:23.06ID:Mpyn5lAA0
他の方に聞いて解決しました。
身バレ防ぐために改変したあたりが間違い箇所でした。本当に申し訳ありません。
ご指導ありがとうございました。
2020/06/07(日) 00:12:05.09ID:Mpyn5lAA0
カッコ内にString型を入れる意味をよくわからずに改変していたのが原因でした。
勉強します
322デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/07(日) 00:14:47.65ID:Trgw7Kao0
あるある
323デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/07(日) 00:16:25.37ID:Trgw7Kao0
>>319
Windowsなら標準入力を終わらせるためにCtrl + zを入力しないといけないよ
2020/06/07(日) 06:17:41.52ID:vbQ41L4Hr
>>323
ありがとうございます。標準入力を利用して、ファイルからデータを入力しているのですが、その場合にはどうすればいいのでしょうか?
2020/06/07(日) 06:41:22.32ID:vbQ41L4Hr
コンソール上で、手入力でCTRL + Zを入力したら行けました。
2020/06/07(日) 17:49:55.63ID:Xfgj1cuV0
Eclipse でインポート文が突然アクセスできないってエラーになります。
コードを何もいじってないのに、突然エラーになって、import 文を削除して改めて Eclipse にインポートとしてもらうか、
あと関係ない部分のコードをいじると直ってしまうとか、謎な振る舞いをするんですが、これって何なんでしょうか?
この二つのインポート文にそういう症状が出ています。

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
2020/06/07(日) 19:12:23.20ID:Qp7b7rl+0
エラーできたときはエラー文を一字一句変えずに書きだせ
これは質問するときの絶対条件
2020/06/08(月) 16:44:32.86ID:ND80n/By0
低レベルな内容です。

interfaceには、Objectクラスに備わっているtoStringやequalsメソッドは
備わっていないのでしょうか?
329デフォルトの名無しさん (ワッチョイ 3e01-cXqP)
垢版 |
2020/06/08(月) 17:24:42.92ID:YaJ/zJSL0
>>328
あるよ
https://paiza.io/projects/PbnsoujEPFphVNA4fuozbQ
2020/06/08(月) 19:43:28.03ID:ND80n/By0
>>329
ありがとうございます。

でもインタフェースは抽象メソッドしか持てないって本には書いてありましたが…
331デフォルトの名無しさん (ワッチョイ caad-wk5h)
垢版 |
2020/06/08(月) 20:44:02.49ID:F/O1Xj+m0
interfaceそのものにはなくてもクラスに実装された形でnewされればどんなクラスでもObjectクラスから派生したクラスのインスタンスになるからなあ。
2020/06/09(火) 00:22:03.69ID:pvFN20Lx0
>>331
ではインタフェースにはtoStringやequalsの抽象メソッドだけ
宣言されているのですか?
例えば
/* public abstract */ String toString();
のような感じで
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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