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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa07-jGB0)
垢版 |
2021/06/29(火) 11:42:34.74ID:iGYT4fi4a
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

※前スレ
Java入門・初心者質問スレ Part.10
https://mevius.5ch.net/test/read.cgi/tech/1585721355/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
196デフォルトの名無しさん (ワッチョイ 6f01-vGIA)
垢版 |
2021/10/04(月) 00:17:56.55ID:FIRFbvKR0
>>195
他人を散々バカにして自分の論理破綻に気付いたら発狂した振りして逃げるとか、そういうのもうやめようよ
2021/10/04(月) 00:22:55.46ID:dYls5rFx0
ほげぇえええwwwww
急に黙ったからやっと自分のアホさに気づいたのかと思ったらなんも理解してなかった池沼whiler君wwwww
ここまでの池沼だと学校の先生も大変そうだなw
これだけのバカはさすがにリアルだと死んでも相手にしたくねぇわw
ど  あ  ほ
198デフォルトの名無しさん (ワッチョイ 6f01-vGIA)
垢版 |
2021/10/04(月) 00:23:21.56ID:FIRFbvKR0
>>173
eclipse.iniの
--add-opens=java.base/java.lang=ALL-UNNAMEDの下に

--add-opens=java.desktop/javax.swing=ALL-UNNAMED
--add-opens=java.desktop/java.awt=ALL-UNNAMED

を追加してeclipseを起動すればたぶん大丈夫
2021/10/04(月) 00:25:54.05ID:dYls5rFx0
それか池沼っぷりの勢いが全然なくなったからただの負け惜しみか?w
バカ回答してるって自覚できたならちゃんと謝ったらどうだな?ん?
まぁ馬鹿なのにプライドはエベレスト級だから無理だろうけど
ど あ ほ
200デフォルトの名無しさん (ワッチョイ 6f01-vGIA)
垢版 |
2021/10/04(月) 00:30:46.74ID:FIRFbvKR0
勢いだけの人っていますよね
2021/10/04(月) 00:33:02.00ID:dYls5rFx0
で、謝らんの?池沼君?
謝れない?w
あほ
2021/10/04(月) 01:02:47.57ID:Jf5PQ2Zk0
ケンカは止めましょう

…と言いつつ書くけど、ID:dYls5rFx0は相手が学生だと分かったんなら
さっと手を引けよ 本気で煽ってんじゃねえよ
2021/10/04(月) 09:36:37.89ID:1rNdRQKS0
>>198
ありがとうございます!!!!!!!!ありがとうございます!!!!!!!!
無事起動できました!!!!

本当にありがとう!!!!
2021/10/04(月) 11:03:51.91ID:AbV0YbaI0
>>193
ドゥーユー・・・
205デフォルトの名無しさん (ワッチョイ 0b94-l3CZ)
垢版 |
2021/10/09(土) 18:26:17.33ID:LJfQjN2X0
Java全体の知識吸収・勉強というのは
Androidアプリ開発のJavaの攻略や促進に役だちますでしょうか?

質問の意図としまして、自分はJava自体をよく分かっていないのですが、
Java全体は色々なサーバーや、ツイッターの開発もそうであったり、
Java全体としては沢山の事ができるとします。

AndroidはそのJavaの一部分を使用してアプリを開発すると思っています。

となると一見その、Javaの全体像のサーバーに関するところや、
全体は、Androidアプリ開発には直接関係なく、無駄な箇所であるかもしれませんが、

それらのJava全体を一応目を通すというか一通り勉強してから
Androidアプリ開発を始めたほうが、最終的には
Androidアプリ開発のみのJavaの参考書などをやるよりも
速く、Androidアプリ開発の知識を吸収して取り組むことができますでしょうか?

すみませんがお教え頂きたいです、宜しくお願いします;
2021/10/09(土) 21:16:26.41ID:MUxrKAvWa
>>205
WikipediaとかでJavaの歴史を読めば分かると思うけど
ざっくりと元は家電製品の組込み用途であって、
一度書けば世界の何処でも動くように
IoTの先駆け的なものであったのだから今のスマホをリードして
標準でネットワークに対応していたりとかがサーバーサイドに強かったりWebサービスを広く普及させたのでdocomoのiモードは有名ですね
いつのまにか増改築で建て増しを繰り返している為巨大なツギハギになってたり
別の会社に買収されてから集金の道具となったりしてますから
時代背景や社会的背景も考慮してから自分が何を作りたいかを考えてみてはいかがですか?
2021/10/09(土) 21:46:12.12ID:aguDhBGS0
Java は、Java土方の仕事があるだけ。
ベンチャー・新規プロジェクトでは基本、Ruby on Rails の仕事しかない

YouTube で有名な、雑食系エンジニア・KENTA のサロンでも基本、Rails のみ。
バックエンドのキャリアパスは、Rails → Go のみ。
この2つしかない

PHP は一生やらなくてよい。
Javaも基本、保守の仕事しかない

だから、Javaのバックエンドを学ぶのは無駄。
直接、Android をやってください

例えば、Ruby による今世紀最大の学生起業家、Vagrant のMitchell Hashimoto(Hashicorp)も、
Go製のTerraform を作っている。
今はRubyではなく、Go プログラマーを募集している

多くの企業のバックエンドは、Rails, Go。
スクエアはElixir、他には、Rust を使う企業も少しあるけど、
基本、Rails, Goのみ
208デフォルトの名無しさん (ワッチョイ caad-VjWW)
垢版 |
2021/10/10(日) 00:32:33.32ID:AG+Igazx0
Kotlinもよろしく
2021/10/10(日) 02:19:13.55ID:B/uncmfq0
実務経験0のゴミしかいないから相変わらず回答も無意味な内容しかなくて笑える
2021/10/10(日) 05:25:00.46ID:Ej58Zmwf0
Androidアプリ(Kotlin)の案件があったときにJavaやっててよかったこと
・Android StudioはJavaコードをKotlinに変換してくれる機能があり、Javaを知っていたのでKotlinの学習が楽だった。
・画面構成が理解しやすかった。Layoutがあってコンポーネントを貼り付けてって感じが同じ。
・Canvasを直接使う事があり、Javaで文字の横幅取得して描画域にあわせたりした経験が活かせた。

サーバ側の知識とかは使わなかったし(PHPだった)、Javaのごく一部の知識が役立った感じ。
Androidアプリ作るのはPC用にJavaアプリを作るのと結構異なるし、Androidアプリから作り始めていいと思う。
2021/10/10(日) 10:36:48.50ID:iKRuQHQv0
例えんでいいんだよなぁ
212205 (ワッチョイ 0b94-l3CZ)
垢版 |
2021/10/10(日) 10:55:17.61ID:/zKw5ESK0
皆様、本当に有難うございました。

Javaの今までと、それにおけるAndroidアプリ開発など
大筋をつかませて頂くことができたと思っております。

もう一度自身でJavaを振り返ったりしてみたいと思います。
Androidアプリ開発であっても、Java全体であっても
どのみち非常に難しいという感想は変わりませんが、
難しい分攻略したいという願望がなかなか消えないので、
なんとかしたいと思います・・  有難うございました!!!
213デフォルトの名無しさん (ワッチョイ c601-7dhU)
垢版 |
2021/10/10(日) 14:38:44.77ID:VN4h1ip00
WikipediaのJavaのページ読んでアドバイスとか最悪だなw
214デフォルトの名無しさん (ワッチョイ 9eba-2VRv)
垢版 |
2021/10/10(日) 19:41:18.74ID:xYtCvT0F0
攻撃の種類(複数)によって処理を変えたいのですが、IF分を使わず書くにはどのようにしたらいいでしょうか?

AttackControl attackControl = new AttackControl;
attackControl.setAttack(Attack attack); // 攻撃を設定する
class AttackControl {
public void setAttack(Attack attack) {
if (attack isInstance of Tati) {
System.out.println("太刀での攻撃です");
} else if (attack isInstance of Yumi) {
System.out.println("弓での攻撃です");
} ..... else {
System.out.println("それ以外の攻撃です");
}
}
}

Attackクラスに
public enum AttackType {
Tachi {@Override
protected void setAttack(Attack attack) {attack.setAttack_Tachi();}
},
Yumi {@Override
protected void setAttack(Attack attack) {attack.setAttack_Yumi();}
};
protected abstract void setAttack(Attack attack);
};
を記載してAttackTypeによって振り分けをしたほうがいいでしょうか?
2021/10/10(日) 19:56:17.53ID:q/o4XEBQ0
weapon ってインスタンス変数を持てばいいんじゃね?
2021/10/10(日) 19:58:56.34ID:B/uncmfq0
回答してやろうと思ったけど速攻で糞レス回答ついたからやめた
2021/10/10(日) 21:10:12.52ID:lB7MFpHR0
剣・弓、鎧・盾・アクセサリーなど、装備品をオブジェクト指向で設計する必要がある

ゲームプログラミングは膨大
218デフォルトの名無しさん (ワッチョイ c601-7dhU)
垢版 |
2021/10/11(月) 10:33:12.63ID:XMUPSaAJ0
>>214
public class Main {
  public static void main(String[] args) throws Throwable {
    攻撃(new 武器("剛弓ベルセルク・アロー", 武器種別.弓));
    攻撃(new 武器("魔剣アクター・ネファリウス", 武器種別.太刀));
    攻撃(new 武器("聖杖ユニコーンズ・ホーン  ", 武器種別.それ以外));
  }

  static void 攻撃(武器 武器) {
    System.out.println(武器.種別 + "での攻撃です");
  }

  static enum 武器種別 {
    太刀, 弓, それ以外
  }

  static class 武器 {
    String 名前;
    武器種別 種別;

    武器(String 名前, Main.武器種別 種別) {
      this.名前 = 名前;
      this.種別 = 種別;
    }
  }
}
2021/10/11(月) 21:20:30.14ID:/1PjbQ0U0
よく、ゲーム攻略本に載っている、
アイテム・武器防具の一覧表・パラメーターとか、膨大だろ

これらの数値をすべて決めて調整するなど、考えただけでも、ゾッとする
2021/10/11(月) 22:45:34.02ID:RERNuFre0
見落とすと必勝法が簡単にできるからな
2021/10/12(火) 00:41:10.83ID:g8J5zqSKa
横からですみませんが
飛び道具って打つたびにnewされてコリジョン判定の都度デリートするの?
ダメージ判定のメソッドで爆発アニメ流してから消すの?
画面の外に飛んでいって何も当たらなかったなかったらメモリに累積してくの?
考え出したらしんどくなってきた・・・
2021/10/12(火) 23:23:08.35ID:J6Je56FN0
作り方次第としか……

画面外にいったのが分かるなら、そこで消せばよいかと。あるいは画面外に壁作っておいて確実に衝突させるとか?
2021/10/13(水) 09:48:39.10ID:nxb3kt6P0
>>222
敵が出てこないと思ったら
画面外の壁で敵が死んでそう
2021/10/13(水) 22:22:02.91ID:LgK3PydCa
自然に考えれば重力落下で地面に消してもらうと思いました
225デフォルトの名無しさん (ワッチョイ 9eba-2VRv)
垢版 |
2021/10/13(水) 22:24:29.51ID:ljesC+YI0
>>218
ありがとうございます。
プレイヤーが装備している武器の種類により攻撃パターンを変えたいと思うので、
stateパターンを使ってみようかなと考えています。
2021/10/13(水) 23:31:52.15ID:lUZNoLjr0
Javaはガベージコレクションを自動でやってくれるそうですが、
実際にはいつ行われるのですか?
またプログラムで時期を指定することができますか?
2021/10/14(木) 01:30:03.49ID:w4vsMxTn0
eclipseをneonから最新版にバージョンアップしたいんですが、
やり方が分かりませんでした
どなたか教えて頂けませんか?
228デフォルトの名無しさん (ワッチョイ 4ada-XkRj)
垢版 |
2021/10/14(木) 21:12:16.53ID:vY0tODFj0
Javaはやはりどこかで実務でやっといた方がいいですかねえ
2021/10/14(木) 23:58:49.70ID:fWGWCPa10
>>221
HTML でも、よく議論されている

オブジェクトを削除せずに非表示にするだけだと、メモリを食う。
だから、メモリを開放するには削除するしかない

必ず、速度とメモリは、トレードオフ
2021/10/15(金) 10:21:37.45ID:oCOZxwHo0
非表示にして次必要になった時に位置だけ更新すればええねん
2021/10/15(金) 21:01:27.76ID:gXkYIo5Br
>>226
GCの実装による。
通常の世代別GCなら、その世代のメモリが足りなくなった時かな。

System.gc()はあるけど、必ずgcが実行される事は保証されていなかった気がする。
2021/10/16(土) 00:00:27.79ID:lgRMETxT0
>>231
この処理をしているときはGCが起こりにくくするとか可能ですか?
2021/10/16(土) 13:05:00.55ID:DfIRnxVx0
引数を一つ受け取るメソッドがあって、拡張のため違う型の引数も渡せるようにしたいのですがどうすらばいいですか?
考えたのは更に違う型をインターフェースで作り、引数に取る型をどちらもそれを実装するようにし、メソッド引数の型はそのインターフェースを実装したものにするというものです
2021/10/16(土) 14:17:44.54ID:ysd29ECq0
関数のオーバーロードは?
2021/10/16(土) 15:18:02.22ID:DfIRnxVx0
引数をメソッドの先で別のメソッドに渡すのを続けているのでオーバーロードもインターフェースも変更が大きくなりそうでした。
2021/10/17(日) 20:11:54.30ID:iVFeOaRU0
おみゃーの目的が別の引数も渡せるようにしたいっていう質問で
それの回答としてオバマロードっていう最適解を貰ってるのに
変更が大きくなりそうとかほざかれても知らんがな
エスパーじゃねーんだよ
2021/10/18(月) 01:06:58.77ID:Bbsokdr+0
コンストラクタについて3つ質問させて下さい

1. アクセス修飾子は基本的にpublicでよいでしょうか?

2. オーバーロードする際は、以下のような順に記述すればよいでしょうか?
public ClassA(int num) {
_this.num = num;
}
public ClassA(int num, String name) {
_this.num = num;
_this.name = name;
}

3. コンストラクタ内でif文などの制御構文を使ってもよいでしょうか?
public ClassA(int num) {
_if (num < 0) {
__num = 0;
_}
_this.num = num;
}

複数の質問で恐縮ですがよろしくお願いします
2021/10/18(月) 02:02:56.81ID:BiJcVaxja
public Human(int age, string name) {
if(18< age< 35){
System.out.print(" I'm perfect human!");
}}
2021/10/18(月) 02:10:33.75ID:/uJbwTfz0
コンストラクタをプライベートににするとどうなるかわかってれば1つ目の糞みたいな質問は出てこない
2021/10/18(月) 08:21:31.40ID:N0fetjcl0
>>237
1. 基本的にpublicでよい。コンストラクタに代わるメソッドでオブジェクト生成する場合はprivateにすることも有る。
2. 順序は好み。規約があればそれに従う。
3. いいです。

2.に関連することだけど
コンストラクタのオーバーロード時はプライマリコンストラクタを決めて
他のコンストラクタはそれに委譲するのが習わし
2021/10/18(月) 09:54:57.89ID:Bbsokdr+0
>>240
わかりました ありがとうございました
this()についても調べてみます
2021/10/20(水) 01:24:23.71ID:8DznHnJt0
また質問させて下さい

2つのメソッドを呼び出し、それぞれ整数を入力する以下のコードを
paizaで実行するとうまくいきません
https://paiza.io/projects/OxlAlZPyDRQE7fRT9DoRFg
どなたか対処法を教えて頂けないでしょうか?
2021/10/20(水) 01:31:43.10ID:bfS8ulon0
消えろゴミ
2021/10/20(水) 01:46:55.34ID:JZvOcRfy0
>>242
スキャナがバッファリングしてるんじゃないかな
同じスキャナを使い回すようにしたら良いと思う
2021/10/20(水) 09:12:59.17ID:8DznHnJt0
Mainクラス内でも静的フィールドを持つことは許されるのでしょうか?
2021/10/20(水) 09:26:43.00ID:8DznHnJt0
>>244
お礼忘れてました
ありがとうございます
2021/10/20(水) 19:01:09.46ID:JZvOcRfy0
>>245
問題ないけど普通は可変のオブジェクトはインスタンス変数にしたり引数で渡したりする
2021/10/20(水) 19:36:22.84ID:8DznHnJt0
>>247
回答ありがとうございます

Scanner型の変数scをMainクラス内で静的フィールドにして、
2つのメソッドから使用するように変更したらうまくいきました
https://paiza.io/projects/OxlAlZPyDRQE7fRT9DoRFg
これでいいですかね
2021/10/20(水) 20:19:19.07ID:JZvOcRfy0
>>248
Ok
2021/10/20(水) 20:27:28.53ID:8DznHnJt0
>>249
ありがとうございました
2021/10/28(木) 20:18:11.69ID:xOnqhtmU0
スタックトレースって(e.printStackTrace)
プログラムが完成した後は削除してもよくないですか?
でも削除するひといないですよね?
なぜですか?
全然意味がわかりません
2021/10/29(金) 00:31:17.55ID:KY3gVakS0
どえしてそのプログラムが完成してると思った?
2021/10/29(金) 09:52:34.26ID:A28t2aYx0
例外をキャッチする目的にもよるけど想定外のことが起きたときにスタックトレースは原因を調査するのに役立つ

printStackTraceを直接呼ぶことはなくて例外をロガーに渡したり例外を投げてランタイムがスタックトレースを出力するようにするやり方もある
2021/10/30(土) 09:48:39.55ID:HpZZOV/20
インタフェースを継承or実装して抽象クラスとする場合、
extendsとimplementsのどちらを使えばよいですか?

public interface Life {
_void eat(Food f);
}
public abstract class Human /* extends? implements? Life */ {
_public abstract Result act();
}
2021/10/30(土) 10:08:03.70ID:0SZ4hVZ70
継承とインプリメントゥの違いをわかってればそんなバカな質問は出てこない
237のバカといい初心者以前のアホが多すぎる
2021/10/30(土) 10:45:35.99ID:HpZZOV/20
>>243
何だその態度は
2021/10/30(土) 14:01:22.44ID:OQ2dRDm50
>>254
implements

extendsは継承の時に使う
2021/10/30(土) 15:23:15.77ID:nIglmucmH
>>255
×インプリメントゥ
○インプリメンツ
2021/10/30(土) 18:38:50.26ID:HpZZOV/20
>>257
回答ありがとうございます
1つも抽象メソッドを実装してなくてもimplementsなんですね
2021/10/30(土) 19:39:43.88ID:OQ2dRDm50
>>259
メソッドを実装してないからこその抽象クラスです
抽象クラスではメソッドの宣言だけして
implimentsで実体を実装する
2021/10/30(土) 22:28:48.42ID:HpZZOV/20
>>260
はい、ありがとうございます
2021/11/01(月) 03:28:24.41ID:AMfQ51VP0
↓のように、コピペの都合か、1つのソース内にて{}で区切ったブロック内で
同じ名前の変数を定義して使っているソースがあります

{
 byte[] byteData = new byte[] { (byte)0x11, (byte)0x22, (byte)0x33};
 func("%x\n", byteData);
}
{
 byte[] byteData = new byte[] { (byte)0x44, (byte)0x55};
 func("%x\n", byteData);
}

こういう作りになっていると、byteDataが解放されずにメモリに残ってしまうとか
そういうことってありますか?

スコープが{}内なので、{}を抜ければいずれガベージされる、と想像してるのですが
いかがでしょう
2021/11/01(月) 04:04:36.24ID:6HuVbq6K0
どこからも参照されなくなればgcの対象になってその内解放される。参照があるなら解放されない。
例えば func() の処理で byteData をクラス変数やインスタンス変数へ代入していたらそちらから参照されることになるので func() から返って来ても gc の対象にならない。
2021/11/01(月) 09:23:21.46ID:AMfQ51VP0
>>263
回答ありがとうございました
func()の中身について、そのような代入等がされていないか、調べていってみようと思います
2021/11/01(月) 21:00:10.61ID:UvmMfJfP0
>>255
確かに
>>237とか>>254とかみたいに
実際に動かたり調べたりしたら分かることなのに
聞いてくる人最近見かけますね?
どしたんやろ?
大丈夫かな?このスレ・・・
2021/11/06(土) 02:13:26.28ID:HqMSnBjj0
indexOfメソッドについて質問です
引数にString型を取るのは分かるんですが、
ある「文字」を検索したい時に、リファレンスではchar型ではなくint型を取る
と書いてありますがこれがよく分かりません
paiza.ioで試してみたら普通にchar型で動作しました
https://paiza.io/projects/3_3NU64tq1Rii15BtqjFOg

どなたかリファレンスにint型と記述されている理由を教えて頂けませんか?
2021/11/06(土) 03:11:56.76ID:4IkIeuakd
>>266
サロゲートペアといって、一部の文字は1文字を表すのにchar2つ分の領域を要する
intのサイズは32ビットであり、charは16ビットなので、intは1つでchar2つ分の情報を持つことができる
indexOfはサロゲートペアに対応していて、char2つ分の情報を1つのint値として引数に渡すことでサロゲートペアに属する文字の検索が可能
2021/11/06(土) 14:41:54.43ID:HqMSnBjj0
>>267
知りませんでした
ありがとうございました

Javaでは'a'とした時これは「整数型」として扱われるのでしょうか?
269デフォルトの名無しさん (ワッチョイ f563-7Vqz)
垢版 |
2021/11/07(日) 11:47:36.65ID:JXx8l6o10
質問です。Jakarta EE と jetty を maven でつかう正しい依存関係の記述をおしえてください。

ゴール:Jakrta EE と Jetty をmavenでつかいたい。

わからん:
次は、jetty に依存させる。わかる。これがServletの実装なんだよね?
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>

これは何に必要?何の役割?
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>

ネットでみつけた。これは何。
<!-- https://mvnrepository.com/artifact/jakarta.platform/jakarta.jakartaee-api -->
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>9.1.0</version>
<scope>provided</scope>
</dependency>
2021/11/07(日) 17:32:09.80ID:ubUrNOtu0
スレチ
消えろゴミ
2021/11/07(日) 21:25:39.76ID:0IMrdMn20
ウェブ系は、この板ではなく、WEB プログラミング板じゃないの?

Servlet, Jakarta, Jetty とか、まだあったのか

Jakarta EE は、もともと「Java EE」として開発されていたものが、
2017年に、OSS となったものです

Jetty は、100% Javaで開発されたOSS で、Java Servlet コンテナ/Webサーバである
2021/11/09(火) 23:15:48.11ID:tSxDKSHDr
>>267
サロゲートペアつーか、コードポイントじゃね?
2021/11/10(水) 02:19:40.95ID:0uJul/ouM
>>272
サロゲートペアが無ければcharの値は即ちコードポイントと同じ
2021/11/14(日) 07:16:14.58ID:7F3sml0S0
すいません、超初心者です。
2021/11/14(日) 07:20:19.34ID:7F3sml0S0
WindowsむけJDKをダウンロードしたいのですが、下記サイトにアクセスすると真っ白で何も表示されません。
https://www.oracle.com/java/technologies/downloads/

配布元がへんこうになっているのでしょうか?
2021/11/14(日) 07:27:33.76ID:7F3sml0S0
https://www.oracle.com/jp/downloads/#category-java
2021/11/14(日) 07:29:27.42ID:7F3sml0S0
【サイト@】https://www.oracle.com/jp/downloads/#category-java
【サイトA】https://www.oracle.com/java/technologies/downloads/

サイト@の『開発者向けJava(JDK)』をクリックすると、
サイトAのサイトが真っ白で表示され、なにもダウンロードできません。

すみません、どなたかご教示ください。。。。
2021/11/14(日) 10:35:54.61ID:7F3sml0S0
なんどもすみません。
結局OpenJDKをダウンロードいました。OracleJDKは未だに手に入りません
2021/11/14(日) 15:26:23.99ID:5CSGBVhH0
>>277
Aページのソースは真っ白ですね…
2021/11/15(月) 23:36:25.06ID:XfViZGgX0
今見ると真っ白ではないよ。「Java Downloads」と書いてあるページが出てくる。
一時的にダメだったか、またはブラウザの問題では。
こちらは Windows の Chrome を使っている。
2021/11/16(火) 02:48:57.50ID:KOAqp5ul0
私も見えるようになった(数時間前は見えなかった)
Wjndows10: Opera
一時的に保守かなんかしていたんじゃないの?
2021/11/16(火) 18:23:31.81ID:pZQRiq6j0
List<Integer> int1 = List.of(2, 8, 13);
List<Integer> int2 = List.of(5, 7, 10);

この二つのリストのペア(2, 5), (2, 7), (2, 10), (8, 5), (8, 7) ....
の中でその差が一番小さい(この場合8と7)を取り出したいんですが、streamでやるにはどうやったらいいですか?
このあたりで行き詰まりました。

int1.stream().flatMap(i -> int2.stream().map(j -> Math.abs(i - j)
283デフォルトの名無しさん (アウアウキー Sab1-fade)
垢版 |
2021/11/16(火) 18:31:16.75ID:V/9tudbHa
漢ならforループ
2021/11/16(火) 22:54:46.78ID:SEINAMi60
よくもまぁこんなゴミコードかけるもんだ
2021/11/16(火) 23:02:08.57ID:SEINAMi60
やってること無茶苦茶だし
falatmapの使い方間違ってる上に中でmap使う意味も全くないし
頭大丈夫か?
2021/11/16(火) 23:10:11.11ID:gIvqaGJY0
Ruby には、順列・組合せなどがある
2021/11/16(火) 23:10:20.65ID:if+fIjwWM
そもそもList二つ使って管理しようってのが間違い
2021/11/17(水) 17:14:54.10ID:CbT8HrOI0
一応出来たんですけどなんか無理矢理感が

List<Integer> int1 = List.of(2, 8, 13);
List<Integer> int2 = List.of(5, 7, 10);

var op = int1.stream().flatMap(i -> int2.stream().map(j -> new ArrayList<Integer>(Arrays.asList(i, j, Math.abs(i - j)))))
.sorted((ar1, ar2) -> ar1.get(2) - ar2.get(2))
.findFirst();
System.out.println(op.get().get(0) + ", " + op.get().get(1));
2021/11/17(水) 21:30:24.18ID:ptLosp4w0
こいつ人の言うことなんも聞いてねーな
こんなゴミコードメンテさせられたら秒で削除するわ
2021/11/18(木) 00:03:23.13ID:LxH8QNZ50
>>284
>>285
むちゃくちゃどころかストリームでデカルト積求めるオーソドックスなやり方だよ、君ストリーム童貞でしょw
2021/11/18(木) 00:08:18.42ID:LxH8QNZ50
>>288
きれいな解法だと思うけどね
なんとなくもっさりして見えるのは標準ライブラリのせい
2021/11/18(木) 00:12:52.21ID:LxH8QNZ50
>>289
君がメンテできるコードなんてあるの?w
2021/11/18(木) 00:19:30.24ID:LxH8QNZ50
Java16以上ならリストよりレコード使ったがわかりやすいかも
2021/11/18(木) 01:40:07.01ID:/67wKdfd0
阿呆がワッチョイ変えて必死に反論しててワロタ
こんなバカみたいな書き方がオーソドックスとかSNSで行け低能
2021/11/18(木) 01:46:33.21ID:/67wKdfd0
streamでここまで見るに堪えないゴミコード書く奴初めて見たわ
意味ないmapを作ったり要素に固定値指定してソートしたり
こんなド素人コーディング見つけたら1時間説教したあとにクビだよ低能
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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