Java入門・初心者質問スレ Part.6
レス数が1000を超えています。これ以上書き込みはできません。
>>前スレ999
はい。
>>同1000
はい。31がよく使われると書いてありました。
それと前のスレで挙げたコードは14行目に論理エラーがあったので、
修正版を載せます。
https://ideone.com/fKCV1w import java.util.*;
import java.lang.*;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.charset.Charset;
class Appliciate{
public static void main (String[] args) {
byte[] ch = {(byte)0x3e,(byte)0x3e,(byte)0x31,(byte)0xe4,(byte)0xb9,(byte)0x99};
String str = new String(ch, StandardCharsets.UTF_8);
System.out.println(str);
}
}
https://ideone.com/mUVi1N import java.io.ByteArrayOutputStream;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
ByteArrayOutputStream b = IntStream.of(0x3e, 0x3e, 0x31, 0xe4, 0xb9, 0x99)
.collect(ByteArrayOutputStream::new, (x, i) -> x.write((byte) i),
(x, y) -> x.write(y.toByteArray(), 0, y.size()));
System.out.println(b);
}
}
https://ideone.com/WD6nmo 31がよく使われると書いてあったからって、あんまり回答になってないんだが…。
フィールドのxorを取るだけでは駄目なの? >>6
正直俺の技術レベルでは分かりません…。
今の段階では本に従ってればいいかなって。 31というと0x1fか。まあなんとなくよさげな数値のような気もするが本当に良いかどうか俺にはわからない。 public class IchiOtsu {
public static void main(String[] args) {
char[] io = { 0x087f, 0x1804, 0x0808, 0x0810, 0x0820, 0x0840, 0x0841, 0x1c3e };
for (int i = 0; i < io.length; ++i) {
for (int b = 0, m = 0x8000; b < 16; ++b, m >>= 1)
System.out.print((io[i] & m) != 0 ? '*' : ' ');
System.out.println();
}
}
}
https://paiza.io/projects/2cYludp3c51wOwQAWAyROQ public class Main {
public static void main(String[] args) {
java.math.BigInteger bi = new java.math.BigInteger("i3whc3eolqjks4r04wo3jgam", 36);
for (int i = 127; i >= 0; i--) {
System.out.print(bi.testBit(i) ? '*' : ' ');
if ((i & 0x0f) == 0)
System.out.println();
}
}
}
https://paiza.io/projects/VNDcowvZ83LrkoND0EL0gA オラクルの資格に挑戦している初学者(私のことです)に向いている IDE をご紹介いただけないでしょうか。 スレチかもですが教えてください。
JBossでearをデプロイした際の挙動がよくわかりません。
自分の想定では、所定のディレクトリにearファイルと同名のディレクトリが作られてearファイルの中身が展開されるのかと思っていましたが、Win+Eclipse環境でデプロイしたところ所定のディレクトリにearファイルが置かれているだけでした。
earファイルが置かれた状態でも動作としては期待通りなのですが、デプロイの挙動が期待と異なるためデプロイの仕組みについて知りたく、解説、参考になるサイト等をご教示願います。 >>11
エクリプスなどのIDEは予測変換機能やエラー検知機能などが付いているから
練習にならない場合があるかも。
地味にコマンドプロンプトとメモ帳でやった方がいいと個人的には思う。 メモ帳以外のテキストエディタの方がいいと思う。。。
テキストエディタなら一部を除いて強力な補完は無いだろうし。
いきなりメモ帳でやるとタイポで萎えると思うから、クラスやステートメント等々強調表示と閉じかっこの補完くらいで良いと思う。 >>6
コイツはマ板に出現する無職35歳で
XORをよく理解してないし
レジスタにヌルを送ろうとするアホだから
説明するだけ無駄ですよ 【Microsoft Tech Summit】APP017 PowerShellの新しい相棒 Visual Studio Code
https://www.youtube.com/watch?v=0zo6z0yHrGk
2017/01/23 に公開された動画 javaで配列の添字に列挙定数を使う場合、どのように記述すれば良いのでしょうか。
以下のC言語の様に記述することは可能ですか?
enum {
TYPE_A,
TYPE_B,
TYPE_O,
TYPE_AB,
ALL_BLOOD_TYPE
}
enum {
MALE,
FEMALE,
ALL_SEX_TYPE
}
char pattern[ALL_SEX_TYPE][ALL_BLOOD_TYPE]; こんなんでよければ
enum BloodType {
A, B, O, AB;
}
enum SexType {
MALE, FEMALE;
}
public static void main(String[] args) {
char[][] pattern = new char[SexType.values().length][SexType.values().length];
System.out.println(pattern[BloodType.A.ordinal()][SexType.MALE.ordinal()]);
} なるほど、Cほど単純には扱えないんですね。
ありがとうございました。 static final int でそれぞれの値とバリエーションの数を定義したほうが見通しよさそう。 enum使うなら専用のクラス作るとかね
class Table<Row, Column, Value> {
Map<Row, Map<Column, Value>> data;
Table() {
data = new HashMap<>();
}
void put(Row row, Column column, Value value) {
Map<Column, Value> record = data.get(row);
if (record == null) {
record = new HashMap<>();
data.put(row, record);
}
record.put(column, value);
}
Value get(Row row, Column column) {
Map<Column, Value> record = data.get(row);
if (record == null) {
return null;
}
return record.get(column);
}
}
public static void main(String[] args) {
Table<SexType, BloodType, String> table = new Table<>();
table.put(SexType.MALE, BloodType.A, "鈴木さん");
System.out.println(table.get(SexType.MALE, BloodType.A));
} C++のような演算子オーバーロードも無ければC#のデフォルトプロパティ構文もないから
どうやっても見やすくならないなあ… あまり頭が良すぎる人が書くと何やってるかわからないコードになりがちだよね
頭良すぎるのも考え物だね 頭の良い人のコード、ってどんなコードなのだろうか?
あまり人のコードを読んでいないので、よくわからない
これぞ頭のいい人のコード、というものがあったら、挙げていただけないものだろうか? >>23
性別と血液型の組み合わせごとに1人ずつ
8人しか登録できんじゃねーかw kotlinはまさにjavaが持っている痒いところに手が届かない部分の、シンタクスシュガーの塊な感じだね groovyやscalaの時も同じようなこと言ってたろ >>28
自分で作ればいいじゃねーかw こうですか?わかりません >>33
そうだね、質問者の配列名は pattern[][] だった。
回答の put() で追加しているのが ”鈴木さん” だから変に見えるかもしれん。 >>30
そうそう。書きやすく書いて、後はコンパイラの最適化に任せる。 >>31
GroovyもScalaもJavaとの互換性は一方通行だからね
KotlinはJavaとほぼ完全な互換性があり、混ぜても不都合はほとんど生じない てか、不具合生じないように最初から作ってるからバグでもない限り大丈夫なのでは? randomクラスで引数空白でインスタンス化した場合、後からそこにどんな引数?seed?が使われていたのか参照するにはどうすればいいでしょうか 下記のコードの実行結果が*xist*nc*にならないのは何ででしょうか?
https://ideone.com/QBoODP
どなたか回答お願いします。 >>42
ありがとうございます。
なぜstr変数に代入しなければ結果に反映されないのでしょうか? >>43
Stringはわざと内容を書き換えられないように作ってあって、内容を変化させたい場合は新たに内容が書き変わった文字列を持つStringのインスタンスを作って返すという方式でやっているため。
それでは効率が悪くなる処理では StringBuilder 等の内容を書き換えるクラスを使う。 言語直接の質問ではないのですが、あるライブラリが依存しているライブラリ全体の一覧を知る方法ってありますか?
例えば、ライブラリAを使う時に以下のような依存があったとして、
A → B, C, D
B → H, I
C → X
D, H, I, X → 依存なし
A, B, C, D, H, I, Xがあればコンパイル/実行可能というのが知りたいです >>49
今時手動でパッケージ管理はありえない
gradleかmaven使ってくれ >>50
手動で管理したいわけではなくて、一覧が知りたいんです
方法をご存知なら教えていただけますか? >>51
gradleやmaven使ってれば出るよ >>52
gradle dependenciesタスクで目的のものが得られました
レス感謝いたします >>54
スレタイ読めませんか?
スレを荒らすの止めてください
あなたが反応しなければいいだけです RxJavaのioとかcomputationのスレッドって必ずDaemonスレッドになるのかな?
subscribeして特になにもしないでスコープ抜けるとすぐに終了している(ように見える)。
いまいちよくわからん。 superって上書きした後に実行するの?
初歩の初歩で申し訳ない このスレは35歳が書き込んだ事で疑心暗鬼になっている
初心者が気軽に質問できるスレッドでは無くなっている 宣言とかじゃないやつ…
なんていうかその()が語尾につくやつ コンストラクタなら真っ先に呼ばれるはずだけど。
試しにthis();の後とかに書いてみれば良い。
怒られるから。 >>65
「細長いストリーム」と「逆行シナプス」がわからん。 >>58
リアクティブプログラミングとRxJavaの概要
https://codezine.jp/article/detail/9570
直感的に理解する RxJava その1: 基本的な構成
https://android.benigumo.com/20160331/rxjava-part1/
プロセスとスレッドは、OS では別の用語。
1つのプロセスの中に、複数のスレッドを含むこともできる(マルチスレッド)
普通は、io を行うと、OS がカーネルスレッドを起動して、外部とやり取りする。
プロセスの4GBのメモリ空間内の内、ユーザーは3GB、カーネルは1GBを使っている ソース読んだ。
setDaemon(true)されてるな。
リークし難いようになる代わりに、不意の終了に気を付けないといけないわけね。 すっきりjava入門を読み終え。
すっきりjava実践を呼んでます。
Java SE 7/8 Bronzeを取得しました。
どの本を読めば40歳までに就職できますか? javaはjsやphpみたいに配列の中に要素と子配列や子連想配列がまざっていなるようなデータ構造は一切許容しない方針になってるってことでいいの?
あと親クラスのメソッド名をオーバーライドする意図がよくわからない。
たまたまメソッド名が被ってて上書きしましたなら
分かるけど
意図的に親クラスを調べて同じメソッド名にしてオーバーライドするのだとしたら何故あえてそうするのかがわからない
子クラスで好きなメソッド実装したいなら新たな名前で親クラスとか継承とか関係なしに新規に定義すればいいじゃん
わざわざ同じメソッド名にしてsuperとかで親機能呼び出したらソース上で親クラス辿らないと何してるか見えなくなるじゃん
そこまでして親クラスの機能を無理に応用する必要ないのでは?
大体親クラスは自分が書いたものとは限らないから、
メソッドの仕組みを詳しく知ってるわけじゃないことが多い。
子クラスで新規追加した方が見やすくて確実なのでは? スッキリわかる Java入門 第2版、2014
スッキリわかる Java入門 実践編 第2版、2014
スッキリわかる サーブレット&JSP入門、2014
実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014
Java 最強リファレンス、田中裕一、2014
EFFECTIVE JAVA 第2版、2014
Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
Windows PowerShell
コマンド & スクリプティングガイド
五十嵐貴之(いからしたかゆき)、2015/3/25
ファイル・テキスト処理なら、Ruby が断トツ!
たのしいRuby 第5版、2016
みんなのPython 第4版、2017 動的型付けの言語と静的型付けの言語を一緒くたにすんなよ
それに今のトレンドは静的型付け+型推論だじぇ >>73
子クラスで、親クラスのメソッドを上書きする、
override は、オブジェクト指向の基本
この本を読め。
スッキリわかる Java入門 第2版、2014
オブジェクト指向がわかっていないと、ほぼすべての言語ができない >>77
日本の大学は子供騙し
もっとちゃんと海外留学しよう >>78
同意
でも
海外留学はコストがかかる
本を選ぶののには大したコストがかからない
できる中で賢い選択をしよう >>73
Javaでは異なる型を扱うならクラスを定義するっていうのがオーソドックスなやり方
Object型の配列はどんなクラス型も格納できるけれども
キャストしなければいけないから面倒でコンパイル時に型チェックできないから危険
メソッドをオーバーライドするのは
そのクラスを使う側を修正しなくて済むから
子クラスで追加した方が見やすくて確実っていうのはその通り >>73
Javaは継承の指定子がextendsになってることからわかるように既存クラスの拡張を継承で表現する文化
君のいうとおりクラスなんか継承せずにどんどん小さいクラスを作っていけばいいじゃんというのは最近の流行ではある
ただ、それでも共通の呼び出しができるものを峻別したいのでinterfaceというものがある
>>76の意見は、よく見る意見ではあるが、オブジェクト指向について語るときには、結構意見が割れる話題でもある
とりあえず、書き方とかパラダイムを使ってみたほうがいいので、自分で、色々試してみるといいよ >>73
> javaはjsやphpみたいに配列の中に要素と子配列や子連想配列がまざっていなるようなデータ構造は一切許容しない方針になってるってことでいいの?
配列を参照する配列みたいなやつ?できるよ。でないと多次元の配列作れないし。 すいません。
これだけは言っとかないと気が済まん。
>>55
うるせえ お前がすっこめ
>>57
最初に荒らしたのは>>48です。
>>62
そんなわけないだろ。そういうことにしたいんだろ?
>>71-72
止めろボケ ほんと小学生
中学生ですらここまで幼稚なレスしないと思う age age age age あげ あげ あげ あげ >>72
知識があればかけるよ
書けないというなら無知って事だ Java SE 7/8 Bronze持ってるって言ってんだろうが?
字が読めないのかよハゲ で?
意味をなさない肩書きにどれほどの価値があるの? 真面目に答えてくれる方を探してます。
すっきりjava入門を読み終え。
すっきりjava実践を呼んでます。
Java SE 7/8 Bronzeを取得しました。
どの本を読めば40歳までに就職できますか?
知識は有りますが勉強中の為、コードは書けません。 どうやら、
私の様に大学を卒業していないと会話が成立しない様なので、
大卒以上の方のみ書き込んで下さい。 俺院卒だから書かせてもらうね
本が就職口を探してくれると思い込んでる内はどこにも行けねーよ
せめて漢字くらいはちゃんと使いな >>91
とりあえず Silver を目指すのはいかがですか?
ブロンズは日本だけのローカル資格だから誰も評価していないと思う‥そして就職のためにはゴールドがないと、誰も相手にしてくれないのではないか? ゴールドも持ってないクソ雑魚が40までに就職云々とか
ガイジか? >>91
> 知識は有りますが勉強中の為、コードは書けません。
書け、そして実行しろアホが。 >>91
30過ぎで経験なしコード書けませんなんて、どんな資格持ってたって
職なんてないだろ。
バブル期じゃあるまいし。 発達障害ですから障碍者枠で就職できたらと思います。 人生捨てたもんじゃないよね あっと驚く奇跡が起きる
あっああ…。
年末だと風俗の予約とれない >>100
自分の事をそこまで悲観しなくてはいいのでは? ここはたまに覗くが、無駄に人だけは多い言語だからクソスレだねぇ。
年中夏休み冬休みみたいな書き込みしか無いな。 コテハンは嫌われるって自分が書いたのに
嫌われて元から無い信用を更に無くしたいのだろうか 障害者枠は手足がない奴とか心臓病の奴で間に合ってる 煽りでも何でもなく35歳は専スレにひきこもってて欲しい
このスレが本題と関係ないレスで埋まってしまう >>103
そんな事は有りません。
>>104
参考にします。
>>105
障害者差別です。
>>106
真面目にレスしてます。 障害者差別は悲しい事件を起こします。
裸で監禁、部屋に暖房なし…父「療養のため」
2017年12月31日 06時17分
大阪府寝屋川市の民家で、住人の柿元愛里さん(33)が監禁され、やせ細った状態で死亡した事件で、柿元さんが暖房がない部屋で衣服を身に着けずに放置されていたことが、捜査関係者への取材でわかった。
http://www.yomiuri.co.jp/national/20171231-OYT1T50001.html 日本人って枠からはみだした人間相手だと異様なほど残酷だよね 俺に足りないのは責任感とバイトの経験ですね…。
そういう気がします。
最近はスランプに陥ったので主に寝てました。
昨日は障害者向けの求人を調べてみました。 ハロワのパソコンの使い方を知らないんです。教えてくれると思いますが。
確かにスッキリJava実践編で苦戦しています…。
適性無いかもなあ。
出会い系とは距離を取るようにしました。会えないんだもの。
抑うつ(非定型うつ)になり、行けなくなってしまいました。デスクにいる時間が苦痛でした。
作業をこなす内に、仕事も出来るかもって思えるようになると考えています。 違います。必要な情報が欲しいんです(もう大分貰いましたが)。
シャットダウンもしていません。
無駄じゃありませんよ、参考にします。
ありがとうございます。ガラケーなので見れないですけど。 出会い系とは距離を置くようにしました。ただ…
今行ってる所は、本当にお茶飲んだり話したりするだけの場所なんです。
そことは別の、本格的に作業を行う場所があり、そこに通うことを検討している訳です。
頑張りますとしか言えませんが…。 ここで労働者である皆さんに謝っておかねばなりません。
所得税・住民税を納められなくてすいません。
分かりました?
切迫してるんですね。
今はそうでしょう。
だから鍛える必要があります。それは分かってます。
今日からリハビリ施設の時間を延長した事と、Indeed.comでちょっと調べてみました。
あんたらの年収うP だから同一人物じゃないですよ。
その方:やる気あり、知識持ってる、高学歴、障害者枠かは不明、若い?
俺:軽いうつ状態、スッキリオブジェクトレベル、学歴並、障害者枠狙い、アスペ、30代
です。 ここに居るのは、大卒以上の経歴が無いと何も言えない無能なんですね。 >>116
ブロンズじゃ全然足りない、シルバーをとってゴールドに進む道しかない
Java 以外で、認められる言語資格はないのではないか? >>
だーかーらー
本当に頭が悪いな。就職できる本を紹介して下さいって書いてるだろ。
大学出てないと、字も読めないのかよ。 やはり、大学出てないと話になりませんね。
頭が悪い上に文章も読めない無能は書き込まないで下さい。 たったいま、ハローワークに行って来ました。
受付で、障害者枠での就職難しいですね。と言われました。 >>120
>>121
シルバーとってゴールドをとる道しかない、ゴールド持ちなら普通に雇ってくれるかもしれない 院卒だから書き込むね
お前の状態なんか知ったこっちゃねーんだよ
少なくとも俺は年齢や性別、状態状況に関係なくプログラムに向き合ってんだ
障害者だと難癖付けて特別扱いして欲しいんなら別の所へ行きな >>124
参考にします。
>>125
文章が中学なのですが? 誰だよこのガチ障害者に餌与えたの
放っとけば勝手に野垂れ死ぬか自殺するだろ 最近、5chが好きになりました。
遊んでるんじゃ有りません。
シたい時にしたいだけです。
>>128
元気なので心配いりません。 >>78
お前にお似合いのfランなら、そうなんだろうなw
宮廷くらい入ってからそのセリフを吐くなら聞いてやってもいいけどさw 年末なのに5ch荒らす馬鹿が居て嫌になっちゃうなー。 >>131
障害者枠は引く手あまたでいいよね!
2%の枠を埋めるためには、脳味噌がまともな身体障害者だけじゃ足りなくて、
精神障害者に手を出さないといけない始末
正直、罰金払ってでもキチガイなんて雇いたくないけど、ホールディングスの方針で、末端の子会社でも強制的に雇わさせられる
キチガイを無理に雇わせるとか、反日的には不幸な日本人が増えて大喜びなんだろうな >>108
何が差別かわからん。
残ってる能力を冷静に判断してるだけであって、残ってる能力があれば障害者だろうが関係ないという意味での差別フリーな採り方だと思うが。
いや、障害の内容に関わらず、「障害者」であれば等しく扱われるべきだ(チャンスがあるべきだ)、ってのは
俺はその等しく障害者として扱うってのが、すごい差別だと思うけどな。 >>132
ホールディングスの方針なら、ホールディングスから障害者を出向してもらえばいいんじゃないの?
うちそうだよ。特例子会社から転籍とか。
だいたい身体の人でなんとかなるし、キチガイの中でもガチアスペとか使いやすい。テスターとか帳票屋にしとくと便利。
行間読まないからテスト仕様をきちんとこなすし、帳票はミリ単位で合ってる。
こっちが指示伝票ちゃんと書いたらの話だけど、もともと品証部はそのレベルで要求してきてるから、実害はせいぜい指示伝票やテスト仕様書に気が抜けないだけ。 >>134
そこまで話の通じるホールディングスなら、最初からそうしてるに決まってるじゃん
好きで自分達で採用活動してるわけないっしょ >>137
五月蝿い タヒネ
五月蝿い タヒネ
五月蝿い タヒネ
五月蝿い タヒネ
五月蝿い タヒネ public class あけまして {
public static void main(Srting[] おめでとう) {
System.out.println("ございます");
}
} スレ汚し失礼します。35歳です。
私を騙ってレスをしている馬鹿は偽物です(トリがない)。
皆さん無視して下さい。
>>84 >>86
頭に来ると子供っぽいレスになってしまうんです。
>89 >91 >92 >99 >101 >102 >107 >108 >111->118 >120 >121 >123
>126 >129
クソボケが
>>98 >>106
いやそれ俺じゃないから。
>>122
おそらく雪風だと。 >>140
二度と書き込むなと言われているのに日本語読めないの? >>140
オマエが消えれば問題解決
巣から出て来るな >>140
自分のスレに回答忘れ残ってるだろ。やってこいよ >>140
迷惑だから他所でやれ。
まるで幼児だな。 >>142
そういうわけにいくか。
>>144
偽者が消えないと解決にならねーよ。
>>146
幼児なのは偽者だろうが。
>>147
自演じゃねえ。
>>148
俺が消える必要は無い。 >>149
いい加減にしろ!
ここはJavaの質問スレだっての
お前が来るから成りすましもふざけてここに書き込むんだよ
お前が反応しなければ飽きてそのうち居なくなる
反応するな書き込むな >>149
書き込む内容をJava関連にする気が無いなら他所に行け。
だから巣で幼児脳とか言われてるんだろ。 割りと真面目に解答すると、必死チェカーもどきのトリップ検索で
引っかり、スクリプトで追いかけられてるんじゃない?
文章自体も過去スレに落ちてるモノ、ばっかりだし。 IP表示にすれば35歳は消えますよ。
誰かPart7をワッチョイ+IPで立ててくれませんか? >>155
自分で立てれば?
自分のIPが表示されるのは問題無いんでしょ? 解答じゃなくて推測だった。
スレ違いなので消えます。 別のクラスのメソッドの引数に、呼び出し元のクラスのメソッドを渡して
コールバックのような動作をさせたい。
public class CLASSA{
public void XXX(){
CLASSB b;
b.GenerateData( this.ZZZ );
}
public void ZZZ( MYDATASTRUCTURE mds ){
(省略)
}
}
b.GenerateData内では非同期でデータを生成し、
データができ次第呼び出し元のクラスのZZZを呼び出したい。
CLASSAは決まったクラスではないため、b.GenerateDataの引数の型を(俺の知識では)宣言できない。
メソッドZZZに関してはどのクラスでも引数と戻り値を統一させます(メソッド名は統一しない可能性あり)。
Objective-CではできましたがJavaでのやり方がわかりません。
教えてください。 CompletableFutureじゃないかな、つか自分で使ったことないものを人に勧めんなよと >>149
>>147は君が自演していると書いたのではない。 型を持たない、バイト配列(ストリーム)を使えば?
非同期処理が終わったら、コールバック関数を呼んでもらうのは、
まさに、I/O と同じ
自分で、プログラミングする必要がない どうやら偽物が現れた様ですね。
私が本当の35歳です。あっああ。。。 クソスレと文句を言う前に、進んでクソでない話を書きましょう。 IntelliJ 使っている人いますか?
複数のクラスファイルに main() がそれぞれ記述してある状況で、
本当に最初に呼び出したい main() を IntelliJ に教えてあげる方法はありますか?
サブクラスの main() はテストのためにありますが、これはこれで便利なので、残しておきたいのです‥ すみません、Excelを扱うPOIについてお聞きしたいのですが、ここで問題ないでしょうか。 >>179です。
ありがとうございます。
改めてPOIについて質問させていただきます。
netbeansというIDEを用いて、webページを作成しています。
webページで指定したExcelファイル(拡張子はxls,xlsx共にあり)をsevletを介しjavaプログラムにてDBに取り込むというプログラムを作成したところ、OutOfMemoryErrorが発生してしまいました。
実行中にタスクマネージャーを確認したところ、CPU95〜99%、メモリ80%程度の状態が30秒程度続き、
その後OutOfMemoryErrorが発生しているようでした。
POIについて調べてみると大分メモリを食うとのことでしたが、読み込むExcelファイルは
10M程度のxlsxファイルでしたのでいけるかなと思いましたが、ダメでした。
環境はwindows10の64bit、メモリは8GBでCPUは3.5GHzです。
また、netbeansの初期ヒープ値は32Mとなっていました。
コードは以下の通りです。
FileInputStream in
= new FileInputStream(file_name);
Workbook book = null;
book = WorkbookFactory.create(in);
一番最終行のWorkbookFactoryでOutOfMemoryErrorが発生しているようです。
何か良い方法があれば、教えていただけないでしょうか。 >>181
How to load a large xlsx file with Apache POI?
https://stackoverflow.com/questions/11891851/how-to-load-a-large-xlsx-file-with-apache-poi
WorkbookFactory.create(new File("yourfile.xlsx"));
こうすれば良いよって話や
Excel Streaming Readerってライブラリ使えば良いよって話がありました javaにはCのatoiやatofのような関数は無いですか? >>179です。
>>182ありがとうございます。確認してみます。 書き方が悪かったですね。
Cのatoiやatofは渡す文字列の中に文字が含まれていても、数字だけを取り出してくれます。
parseIntなどの場合は文字が含まれると例外を吐きますよね?
なので文字が含まれていても大丈夫なメソッドが知りたいのです。
無ければ自分で作ろうとおもうんですが、あったら馬鹿馬鹿しいのでお尋ねしました。 instanceofについて質問です。
出力結果がfalseになる場合と、(文が)コンパイルエラーになる場合の状況の違いが
分かりません。
どなたか回答お願いします。 >>187
class A {}
class SubA extends A {}
class B {}
public class Main {
public static void main(String[] args) {
A a = new A();
System.out.println(a instanceof B);
System.out.println(a instanceof SubA);
}
}
継承関係でないならばコンパイルエラー
継承関係だけれどもインスタンスが違うならばfalse >>188
失礼しました。
何と何を比較するとfalseが出力されて、何と何を比較するとエラーになるのか
違いが分からなかったんで、その辺を教えて頂ければなと。 >>190
ありがとうございます。
それと、本によるとインターフェースが比較対象になっている時も出力はfalse
になっているみたいですが、上のコードに、
interface C {}
という定義が付け加えられた時、
a instanceof C
は(コンパイルエラーではなく)falseを返すという理解でいいんですよね? >>192
ほんとだ。その理解でいいよ。
Aのサブクラスでインターフェースが実装されてるかもしれないから
インターフェースへのキャストはコンパイル時にエラーにできないって理屈みたい。 いかなる時もコンパイルエラーにしたくないなら Object にキャストしてから instanceof を使えば良い。
if ((Object) a instance of B) ... みたいに。 あ、いかん。つい instance と of の間にスペース入れてしまった。instanceof ね。 >>186
class C {
private static final Pattern p = Pattern.compile("^(\\-?(0|[1-9]\\d*)(\\.\\d+)?((e|E)(\\+|\\-)?\\d+)?)");
public static int atoi(String s) {
return toDouble(s).intValue();
}
public static double atof(String s) {
return toDouble(s);
}
private static Double toDouble(String s) {
Matcher m = p.matcher(s);
if (!m.find()) {
return new Double(0);
}
return new Double(m.group(1));
}
} >>193 >>194-195
分かりました。ありがとうございました。 >>186
前後の空白文字を削除するだけでいいなら Integer.parseInt(s.trim()) なんて書き方でできるよ。 ttp://hissi.org/read.php/tech/20180106/K1JvV0V3Tzk.html 回答するのは自由だけど
>>200みたいな書き込みをしている奴に餌を与えていることは自覚してほしい それはおかしくないか?俺はこのスレのルールに従って書き込んでいるし、
今回のやり取りでは誰にもストレスは与えていないはず。
それでも書き込むなっていうのは権利を侵害している。
それとせっかく答えてくれた人を責めるような書き込みも止めてもらいたい。 >>203
そのレスはJavaに関係ある内容ですか?
迷惑です。 >>204
俺にだけ言われても困るよ。前に無駄な書き込みした人たちに言ってくれよ。
確かにJavaとは関係無いけど、必要なことなので書かせてもらった。
それと何で187名乗ってんの?
>>205
何で187名乗ってんの? 35歳が書き込むから問題になるってのが分からないのか? >>206
お前に取って必要か不要かは、このスレには関係無い むしろ構ってる方がスルーしたらいいだけの話
必死使う方が必死 >>203
Javaに関係あるなしではなく、思いついたら即質問はやめてくれんかね。
調べてみた、やってみたってのが圧倒的に足りないんだよ。
そういう自分で解決してみようとする努力がね。
どこまで自分で何をやってみたのか、それすら伝えようとしないで
ここは質問のスレだ、お前らさあ答えろ、このスレは答えをもらえるスレ
だから使い方間違っていない、なんてやられたら答えるほうは
いくら好きでやっているとはいえストレスだし、答える人が
スレから離れて行ってしまうんだよ。
貴方のような他人を無機質に答えをもらえる道具としてしかとらえていない
人はストレスだし害悪なんだと理解して、少しは心を入れ替えてほしい。
答える人が気持ちよく答えるには何が足りないか、考えてはくれない
ものだろうか? 別にいんじゃないかな
面倒なら答えないだけだし
質問者に文句言うのは違うと思うぞ 色々理屈つけてるけどその感情心理学的にはただの嫉妬 読んでイラっと来る質問がなくせるならそれに越したことはないが
それのために面倒な質問テンプレができるみたいな方向には
行ってほしくないな。 いくつかサンプル書けばわかるだろみたいなもんを
聞いてくんなや、とは思う
そういうのも含めて勉強だろ
何かやりたいことがあっての質問はいいんだけどさ、
本を読んでます、わかりません、教えてください、
って感じなのは、その本を書いた先生か授業に採用した先生に
聞いてさいな、俺その本書いてないから意図なんかしらねーよ、
って感じだな
ま、そういうのも含めて初心者入門者用の質問スレなんだけどね
宿題くらい自力でやれよ 保護者や後見人じゃあるまいし
宿題のやり方にまで口出すかね Javaスレでひとくくりにするからこういうくだらない流れが相次ぐ
stackoverflowみたいに細かくトピックごとにスレを立てて無価値なスレは流せばいい 初心者のJavaの質問に答えるスレなんだから
Javaの質問に答えるだけでいんじゃないかな
他人の成長に責任を感じる必要なんてないんだよ
もっと気楽にもっと緩慢にもっとだらしなく 学生の宿題なら可愛げもあるが
1年以上マ板ム板を荒らしている高齢ニートだからタチが悪い 質問でも宿題でも構わんが普段トリップつけて荒らしまくってるくせに
聞きたい時だけ名無しで聞きに来るのはムカつく。 本題に無関係な部分に突っ込むような輩も消えればいい >>220
どうしてムカつくのか自己分析したがいいと思う
その感情ただの嫉妬 質問に、無関係な話を続けるな!
会話したり、反論しないように!
荒らしと会話するものも、荒らし!
荒らしは、無視されるのが一番嫌いだから、スルーしろ! 普段好き勝手に荒らしまわっている奴が都合のいい時だけ
神妙に質問に来るのにむかつく感情は嫉妬なのか?
自由でうらやましいってか?それはないわ。 嫉妬ですよ、目立つ人が嫌なんでしょう
コミュニケーションの幅が広い人が気に食わないんでしょう
ちやほやされてる人を見るとイラつくんでしょう
完全に嫉妬ですよ 35歳がどこかでちやほやされてんの?
それはけしからんな。そんなスレはつぶしに行かんとなw 自分の縄張りを荒らされたように感じて怒ってんだろ。
しかしそもそもここは最初から誰のものでもない。
強いて言うなら5ちゃんの運営のものだ。 クソみたいな連レスとか幼稚な口喧嘩してるコテハンに嫉妬とかある?
嫌悪しか無いと思うんだけどw そもそも35歳は憎悪の感情が存在するのか?
精神の発達が未分化過ぎる なんか俺どこへ行っても有名人になっちゃってる…。
すいません、スレの趣旨と関係ない書き込みさせて頂きます。
>>199-201
いいじゃないすか。(ソフトバンクのCM風に)
>>207
それは間違ってると思います。いいじゃないですか。
>>210 >>214
はい。
ただ質問の内容は厳選しています。分からないことは質問している回数の
2〜3倍くらいあります。それをGoogleで調べるなどして潰して、
それでも分からないことを聞いています。
>>219 >>220
荒らしてもいないし今はニートでもありません。
仮にそうであったとしても、このスレではこのスレ内での立ち振る舞いで
判断されるべきだと私は思うのです。 はいはいおしまい
止めろと言っても話を聞かない荒らしはスルーで
次の質問者どぞー >>234
Hello worldを聞く奴が激戦して質問してる訳ねえよ
過去スレで、お前がHello worldの問題聞いてただろうが >>234
Hello worldの問題すらGoogleで調べられなかったお前が、
寝言を言ってるんじゃねえよ ほんとひっでぇな・・
馬鹿と馬鹿の粘着が居ついて幼稚園児スレになってる
なんなんだこの低能チンパンジーどもは・・ >>234
> このスレではこのスレ内での立ち振る舞いで
> 判断されるべきだと私は思うのです。
ならトリップいらないし
他の人が成りすまししててもスルーすればいいだけの話では? 彼は他人の意見は聞かない人なので基本スルーでいいです >>243
反応するから関連付けられて余計に言われるって気付かないの? >>250
お前のように自制を促す奴がいると調子に乗る輩がいます
お前が荒らしの一味 黙ってれば荒らしがいなくなると思ったら大間違い
荒らすやつっていうのは相手が反撃できないと知ると調子に乗るだけ スルーすればいいと言ってる同じ口でトリップつけるなとか
反応するなと要求しててスルーしてないんだよね
スルーする振りした荒らし 荒らしの立場からすると反応するのが悪いという人は味方なんだよね
対象を非難してくれるから
荒せば荒らすほど対象が非難されるというとても素晴らしいコンビの誕生なんだよね
これはコンビ芸なんだよ
警官がやるアメとムチと一緒、一方が怒鳴りつけてもう一方が
優しい態度をとって相手を意のままに操ろうとする交渉術、グルなんですよ >>236-237
あの時点ではよく理解出来てなかったんです。
それに「入門・初心者」とスレタイにあるんですから、あのレベルの質問は
問題無いと思いますが。
>>238
言葉が過ぎるのでは?失礼ですよ。
>>241
成りすましは結構腹が立つんですよね。
>>242
荒らしているか、の判断は他の方に任せますが、今はニートではありませんよ。
>>252
その通りと思います。代弁してくれてありがとうございます。 >>259
黙ってれば荒らしがいなくなるわけではないが
かと言って言い返しても荒らしがいなくなるわけでもない 自分の巡回スレにこういう小学生みたいな奴等がいると吐き気がしてくる 初心者がHello worldを聞くのは仕方ないと思う。だけど、
アセンブラ経験5,6年を自称して、大卒自慢してる奴が聞いてるのは引く。 wikiにすら載ってるのに、Googleでくまなく調べた上で、
激選した質問がHello World
大卒は皆そうなるの?
https://ideone.com/9HQh4m >>266
アセンブラは研修の時に使っただけ。大学の授業でやったのはC。
>>267
Hello Worldの出力方法を聞いたのではなく、Stringクラスオブジェクトの不変性に
ついて聞いた。初心者はつっかかりやすい所だと思う。 >>268
設定変わってる?
それなら22から28まで、退職するまでの間は何してたの? >>268
XOR EAX,EAXが理解出来ない幼児脳
レジスタにヌルを入れようとする池沼
漢検取っても「喩え話」が読めなくなる高速劣化大卒 >>275
この人XOR EAX,EAXがーて同じことなんべんも言ってんの
それしたネタがないの >>277
b型をなんべんも労働と言いはる方ですか? >>277
「証明」をなんべんも「照明」と書いた人ですか? 話が終わんねえな。スレを正常化させるためにみんなして初心者のふりして初心者っぽい書き込みを大量に書き込んだらどうかな。もちろんスマホとか使ってID変えて自分で答えるのもアリだ。 年末年始で気が立ってるだけだよ
時間が癒すまで待てばいい >>277
14歳に執拗に粘着するロリコンの方ですか? 他の言語の経験があれば勘で試行錯誤できる奴もいれば
全く無理な頭の固い奴もいるからな
こいつは後者だったんだろう よくあるHello worldのプログラムで、文字の大きさを2倍〜16倍にしたいんですが、どうすればいいですか? フォントサイズを変える
お前が言ってるのは、テキストファイルをメモ帳で開いたんですけど文字の大きさを変えたいですと言ってるのと同じ >>284
まず2〜16倍の虫眼鏡またはルーペを用意してください。
画面に表示されたら素早くその前に虫眼鏡を当て、少し画面から離すとあら不思議。見事に2〜16倍の大きさに見えている筈です。
他の方法は、Androidのスマホやタブレット、またはiPhoneやiPadで写真に撮り、それを表示させながらピンチすることです。 >>284
環境により違う。
Eclipseエディターで実行なのか、コンパイル後の既存コンソールなのか
webページ上での話なのか、特定のフレームワーク上での話なのか。
大抵、ggれば出てくるよ >>289
ではバカには用はないのですっこんでいてください。
>>290
文字の大きさ、という言葉以上に分解できないと思いますが。
>>291
バカはお前です。
>>292
コンパイル後の既存コンソールになるとおもいます。
Javaのプログラムから変更する方法が知りたいです。 >>294
コンソールなら>>285で答え出てんじゃねーか
無理なモンは無理なんだよ死ね >>296
それって大きいディスプレイに買い換えてくださいというのと
同じくらい人をバカにしたレスだと思うんですよ。 >>297
同じくらい人をバカにした質問だと思うんですよ。 >>297
無理な事をどうやって実現するの?
ガイジ? >>297
おお!大きいディスプレイか。それには気づかなかった。今度からそれも回答に含めよう。 >>297
標準入出力にJavaからは出力してるだけであって、
標準入出力をどう表示するかはホントにコマンドプロンプト次第だよ。
怒る前に、ちょっと考えような。
馬鹿にされてるんじゃなくて、ホントにそういう問題なんだよ。
それほどまでにバカな事は認めたくないんだろうけど。事実そうだったんだよ。 ばっかw ちげえよ。アレだよアレ。
ウィンドウズのコンソールを破壊するコードが欲しんだよww >>297
スタートボタンからコマンド「cmd」を指定して実行する
タイトルバーを右クリックでプロパティを選び
フォントの設定を変更する
プログラムではどうしようもない
>>293 ... 環境をコードの問題と勘違いする事って結構あるよな。
当時のFFXVがDカップ ヒロインとか言うから飛びついて見たら
Bカップにしか見えなくて。アフロ可愛いとか呟く段階の問題だったりな。
javaからウィンドを作成して、出力文字を変更した方が楽。 そういやエスケープシーケンスでは文字でかくできないのかな? 荒らすの嫌だけど一言だけがまんできないので書きます。
284は偽物なのでみんな騙されないでください!
>>284
他人を騙るな!死ね。マジ殴るぞ。 >>270
設定じゃない。
俺に関する質問はこのスレの趣旨と異なるので、プログラマー板の俺のスレで
お願いします。
>>275 >>278-279
ムキになる所がガキっぽい。 >>308
>>284が君になりすまして書いているようには見えないのだが?
一体どの部分を見てそう判別したんだ? >>311
明らかに俺のレススタイルをまねて俺を陥れようとしている。 似てると思ったよ
真似してたのは事実だと思う
だからこそ暴言吐きまくったんだと思うよ
他人のせいに出来るからね 自分に非が及ばない安全圏に自分が居ると
気が大きくなって迷惑行為も平気で行えるのさ
他人になりすまして迷惑行為をすれば
自分では演技だと思っているから良心の呵責はないし
他人から責められても他人事のように受け入れられる
臆病を極めると荒らしになる >>316
他人の文体を真似て暴言を吐くことで真似された人を悪いように思わせることでしょ >>312
このスレ内で一番新しく見かけた質問の仕方のスタイルだったので
真似をしたというのはありますが、陥れる意図なんてないです。
年も明けましたので精神病院へどうぞ。 >>315 >>317 >>318
貴方のほうこそ俺を陥れようとしているのでは?
レスの書き方ごときでそんな意味のないことを疑うなんて
貴方もかなり壊れていますので病院へどうぞ。 申し訳ないですが、攻撃をされた場合必ず反撃させてもらうので、
攻撃する場合は覚悟して攻撃してください。
1つのレスに複数のアンカーでレスをするスタイルは、頭のおかしな人が
専売を主張しているようですので、やめようと思います。
ただ、回線の都合でころころIDが変わるので、まとめて書こうと思ったのですが
それができなくなるのをご承知ください。 この速度でレスを書いてもID変わっちゃうんですね。
叩かれたから俺のほうが折れてスタイルを変えてあげているので
しょうがないですけどね。 正体を暴かれたので開き直って泥試合に持ち込むしかないわけですな >>312
それはかなりの自意識過剰。誰かが自分を陥れようとしていると信じ込んじゃったもんだから脳がそれに従った処理をするモードになってんだよ。
ちょっとでもそれっぽいと感じたものはそれであるように見えるってやつだ。センサーの感度上げすぎてノイズで誤認識してるようなもんだ。
人間の脳は誰でもそうなることがあるのでUFOや心霊現象のようなものでも信じ込む人がいつの時代も出てしまう。
宗教的な話を信じるのも同じ。 四六時中張り付いていられるならレス数で負けることはないという算段でしょう >>325
俺他人だけど似てると思ったよ、ある程度客観的 なんか頭がおかしいどころか基地外に粘着されちゃったw 攻撃には反撃すると書きましたが、こういう
「お前のかーちゃんでべそ」レベルで泣き叫んでいる子どもには
憐みの目であたたかく無視します。 >>327
それもセンサーが少し敏感になってるからではないかなあ。または緩めに判別しているか。 >>335
35歳の方曰く
「(コテハンは)嫌われてるからトリップは付けない」
らしい
何もかもがおかしいが本人には全く通じない 元から嫌われてるから関係ないんだよなぁ
むしろNGしやすいから歓迎されるだろ 嫌われてるっていっても一部のしつこい粘着野郎が嫌ってるだけで大半の人間はなんとも思ってなかろう。
そもそも人のことなんか注目してないから。 もういい加減俺を落とすの止めろよ…。
>>310
俺にだけ言うなよ…。
>>321
>1つのレスに複数のアンカーでレスをするスタイルは、頭のおかしな人が
>専売を主張しているようですので、やめようと思います。
何で見ず知らずの人間に喧嘩売れるの?だから変人扱いされるんだよ。
>>336
え?トリップ付けるとこのスレだと嫌がられるから消してるだけだけど?
>>337
されないよ。適当なこと言うなよ。 >>341
Javaに関係ないレスするときはトリップつけてもらえますか
NGするんで >>341
トリップをつけると嫌がられるんじゃない。
お前自身を皆迷惑だと思ってる。 >>161
そうでしたか。失礼しました。
>>208
それじゃ俺だけが損では。
>15 大きなお世話。
>56 あんたが書き込むなよ。
>71-72 真似すんな
>150 俺だけが損するのはちょっとね。
>151 俺のせいにするのはおかしいと思います。
>152 荒らしがいなくなればそうします…。
>153 意味不明
>155 だから何で俺が消えないといけないの?
>166-168 >172 >174 馬鹿か
>282 お前はロリか リアルに小学生くらいかな?
負けず嫌いで国語もがんばって丁寧に書いてくれたみたいだけど
言っていることが子どもすぎます。
Javaに興味を持ってくれたのはうれしいけど
まだ君にとってネットの大人向けの掲示板に来るのは早いみたいだから
今は学校の勉強をがんばろう! 何で、荒れてんの?
靴が擦り減るから歩けない。 赤ん坊と同等の35歳が何かしたの?
あいつは「おちんちん気持ちいいばぶー」しか言えなかった筈だけどな。 知り合いに、「靴が擦り減るから歩けない」って奴が
Java SE 7 Bronze 取ったんだけど、
ブロンド嬢におちんちん んぐぅうう!!www(裏声) 氣持ちい
って、して貰ったら取れる様なモノなの?
本人は大卒だからって言ってるんだけど、意味わかる? >>354
物凄くしてる。
靴が擦り減るから歩けない。とか言う奴が、
資格取りました(笑)+大卒だからですかね(笑)で自慢して来るのが辛い。 ブロンズとっても、精液垂れ流し作業所で自慰(意)識
目覚めちゃってもなーーー。
でも、週4の2時間作業で、年間80万もらえるだよなーーー。
あーー悩んじゃうwwww 試験勉強もただ単に解答の丸暗記っぽいけどなあ
似た問題が多いからパターンゲーに持ち込めばなんとかなるんだろう >>359
オラクル社の試験は同じ試験で同じようなことばかり聞いてくる。
国家資格のように出題範囲からまんべんなく問題を出してくるようなことをしない。
たいてい難しいところばかり聞いてくる。 >>360
知識を問われる問題で難しいとか有りえなんだけど。
頭が弱いんじゃない。 質問来ないとこみるとJavaってもはや**違いしか使ってないんじゃねーの?w ちょっと基本的なことを質問してもいいですか?
https://ideone.com/5d44um
上記のコードで、XではなくYが出力されるのはなぜでしょうか?
変数zはxを参照しているのでXが表示されると思ったのですが…。 >>365
ありがとうございます。
ちょっとピンときてないんですが、この理屈からすると、下記のようなことも
可能なわけですね。
https://ideone.com/03SlPn >>366
これがピンと来ない知識レベルで
「もう初心者は脱した」と言っていたのかい
これJavaというかオブジェクト指向の基礎の基礎じゃないかい
君はちょっと自分への評価が甘すぎないかい 35歳は敵が多いからな。
__大前提____障害者(アスペ)なので下記の事をしなく良い。
主な理由
_______障害者年金(税金:年に80万)は自分の収入
__就職希望で___ハロワは年に1回(求人閲覧もしない)
_______体力がないけど、靴が擦り減るから歩けない。
風俗、テレクラ、ヘルス、出合い系、15万PCはOKでも
1000円の靴は高い。靴は選べない。
情報系の大卒で知ってるハズの知識は無い。
6年間就職してるのに、業務内容を頑なに話さない。
(欠勤過多と研修のアセンブラ発言で一年も黙秘)
現状だと、 Java SE 7 Bronze 取得
中卒か高卒の障害者ニートが35歳になって、ようやく働き出そうにも頓挫
適度にあしらわれてB型作業所の涎マミ(レ)ーと挙動が小中学校で止まってる
成長出来ない感情体とロボでもできる作業の代替 と 仲良く作業ゴッコ(見てるだけ) なんでそんな色々知ってんの?
そんなにその人の事に興味あるん? >>369
はい。ありがとうございます。
引き続きですが、下のコードがなぜこの順で表示されるのか分かりません。
https://ideone.com/nvlvfx
staticイニシャライザが実行され、インスタンス化しコンストラクタが実行され、
インスタンスメソッドが実行、はわかるのですが、
3行目の正体不明のメソッドが2番目に実行される理由が分かりません。
どなたか回答お願いします。 >>374
本にはなんて書いてあるの?
答えわかってて質問してない? >>371
興味じゃなくて嫌な奴だから。
Javaを学ぶだけなら良いが
実力も無い状態で就職しようとしてるし
就職したらサポートを付けろとか
パーティションを区切って働かせろとか
とにかく迷惑な奴なんだよ。
漢字が読めないだけならまだしも
その字をググらずに振り仮名を振れという何様。
こんなのが職場に来たら害しかないんで除去作業。 >>377
だから〜こいつは検索をしないってばよぉ >>375
本ではなくWeb上のサンプル問題なので、解説はありません。
>>377
ありがとうございました。こんなものがあるんですね。本に載っていませんでした。 すいません、もう一題質問させて下さい。
https://ideone.com/sI9xXn
上記のコードで最後がfでなくcが表示される理由をどなたか教えて下さい。
super.がついているのでスーパークラスの変数が表示されると考えたのですが…。
参考サイト:Java SE 7 Programmer I - サンプル問題 継承を理解していないってことでは。
なぜと言われても、そういうものとしか。
聞く前に少しは調べたり勉強したりしようよ。 >super.がついているのでスーパークラスの変数が表示されると考えたのですが…。
はい。そうですね。あってますよ。 どんな本でも基本中の基本だと思うので、
理解できるまで何回でも本を読み直しましょう。 逆に、子クラスのインスタンス・this が、
親クラスのインスタンス・this を指したら、プログラミングが出来ないだろ
子クラスのインスタンス・this を取得できなくなる オブジェクト指向のやりたいことを理解して
プログラミング言語がそれをどのように実現してるか知る
ダメな奴はいきなりプログラミング言語で考えようとするので
オブジェクト指向が縛りにしかならない >>381
>>385が答を書いてくれてるけど
35歳は自分のリストの15行目 type = "c " のtypeはどこのtypeだと思ってる?
Cougarクラスでtypeなんて定義してないよね? 累乗する関数 pow というものがありますが、これは入力も出力も double です。
double だと誤差が発生するのではないかと思うのですが、すべての int 型の
入力に対して、正しい結果を返してくれるのでしょうか? powの計算は近似値なので、厳密な計算は原理的にできない
doubleだからとか以前にアルゴリズム上必ず誤差が発生する >>389
doubleはIEEE754という規格に従っていて
IEEE754では仮数部からビットが溢れなければ誤差はない
IEEE754の仮数部のビット数は53
なので結果が
2^53 = 9007199254740992
を超えなればおk >>392
1ulpの範囲で誤差は常にあるよ
想定する入力桁数から結果のオーダーを見積もって、適切な桁数で結果を丸めてやらないとダメ 整数で厳密な数字を出したいような計算で出てくるのなんてせいぜい二乗か三乗だろ
pow使わないで定義に従ってベタに掛け算した方がいい
powは科学技術計算とかに使うもんだ >>395
powの結果の話な
結果の桁数がdoubleの有効桁数と比較してそれほど大きくなければ、単に整数に丸めとけば厳密に正しい数字になるはずだけど powは速度遅いから使ってないわ
速度求めるならJavaがそもそもって言われるかもだがw >>386
親クラスの this と子クラスの this は値は同じ
そういうもの おはよう。
なんだ、その表情は?
俺に掘れるてんのか?wwww 拙者www 惚れる と 掘れる
を間違えてしまったでゴザルwwww
予測変換と検索ワードを考慮して、おらなんだwwwで、ゴザルwww 答えてくれた方々、ありがとうございます。
>>382
最低限の知識はあります。
知識で解く系の問題じゃないので調べようがないんです。
>>383
スーパークラスの変数はfでは?
>>385
サブクラスでの代入により、スーパークラスのtypeも変わってしまったってこと
ですか?
>>387
>オブジェクト指向のやりたいことを理解して
>プログラミング言語がそれをどのように実現してるか知る
スッキリはそのように書いてあります。
>>388
スーパークラスに属してるんですか? >>402
>スーパークラスの変数はfでは?
Cougarクラスは、Felineクラスをextendしていると
何となく考えてみよう。
そう考えると、Cougarのインスタンスがgoメソッドを実行すると
絶対にtypeはfにならないという事が分かるだろう。
ところで「extend」はどんな意味か分かるかな?
調べてみよう。 ってブロンズ取ったんだろ?
そこはアホみたいに問われなかったか? もうここもすっかり35歳に乗っ取られたな
答えちゃうお人好しもいるし >>403
回答ありがとうございます。
おっしゃることはもっともだと思うんですが、super.とついているので
スーパークラスのtype変数を指しているんですよね?
その中身がgoメソッド内でcに変わったという理解でよろしいですか?
それとextend(s)の意味は知ってます。拡張するとかいう意味です。
Javaにおいては継承ということで使われているようですが。
>>404
何しろ3割間違えてるので、その中でこのような設問における失点もあったかも
しれません。 >>405
俺が質問しても気にしなきゃいいのに何が気に入らないのかチャチャ入れるから
一見さんが近寄りにくくなってるんだよ。
ここは質問スレなんだから、純粋に質問して、回答が返ってくるという流れは
自然だろう。それが気に入らないなら無理に来なくていいのに。 >>402
今みました
それは
>>406 https://ideone.com/sI9xXn
の15行目「 type = "c ";」
にて自分で super.type すなわち Feline::type を c に書き直しているからなんですよ >>407
>>410
自分で super.type を "c" に書き直しているからです 以下のプログラムは {1, 2, …, n} 上のすべての位相(開集合系)を求めるプログラムです。
とりあえず、適当に作ったのですが、デザインについて添削してください。 import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class AllTopologies {
■■private final List<Set<Integer>> topologies;
■■private Set<Integer> setOfSubsets;
■■private int setOfSubsetsID;
■■private final int n;
■■private final int m;
■■private final int maxSetOfSubsetsID;
■■public AllTopologies(int n) {
■■■■topologies = new ArrayList<Set<Integer>>();
■■■■setOfSubsets = new HashSet<Integer>();
■■■■setOfSubsetsID = 0;
■■■■this.n = n;
■■■■m = (int) Math.pow(2.0, (double) n) - 1;
■■■■maxSetOfSubsetsID = (int) Math.pow(2.0, (double) m - 1) - 1;
■■■■computeAllTopologies();
■■}
■■ ■■public void printAllTopologies() {
■■■■System.out.print("The number of topologies on the set {");
■■■■int i;
■■■■for (i = 1; i < n; i++) {
■■■■■■System.out.print(i + ", ");
■■■■}
■■■■System.out.print(i);
■■■■System.out.println("} is " + topologies.size() + ".");
■■■■System.out.println();
■■■■
■■■■System.out.print("The all topologies on the set {");
■■■■for (i = 1; i < n; i++) {
■■■■■■System.out.print(i + ", ");
■■■■}
■■■■System.out.print(i);
■■■■System.out.println("} are:");
■■■■
■■■■for (Set<Integer> s : topologies) {
■■■■■■System.out.print("[");
■■■■■■System.out.print(convertIntToSet(0));
■■■■■■System.out.print(", ");
■■■■■■for (int e : s) {
■■■■■■■■
■■■■■■■■System.out.print(convertIntToSet(e));
■■■■■■■■System.out.print(", ");
■■■■■■}
■■■■■■System.out.print(convertIntToSet(m));
■■■■■■System.out.println("]");
■■■■}
■■} ■■private Set<Integer> convertIntToSet(int s) {
■■■■Set<Integer> set = new HashSet<Integer>();
■■■■for (int i = 1; i <= n; i++) {
■■■■■■if ((s & 0x00000001) == 1) {
■■■■■■■■set.add(i);
■■■■■■}
■■■■■■s >>= 1;
■■■■}
■■■■return set;
■■}
■■
■■private boolean nextSetOfSubsets() {
■■■■if (setOfSubsetsID == maxSetOfSubsetsID) {
■■■■■■return false;
■■■■}
■■■■setOfSubsetsID++;
■■■■setOfSubsets = new HashSet<Integer>();
■■■■int t = setOfSubsetsID;
■■■■for (int i = 1; i < m; i++) {
■■■■■■if ((t & 0x00000001) == 1) {
■■■■■■■■setOfSubsets.add(i);
■■■■■■}
■■■■■■t >>= 1;
■■■■}
■■■■return true;
■■} ■■private boolean isSetOfSubsetsTopology() {
■■■■List<Integer> list = new ArrayList<Integer>(setOfSubsets);
■■■■loop:
■■■■for (int i = 0; i < list .size(); i++) {
■■■■ for (int j = i + 1; j < list .size(); j++) {
■■■■ ■■int intersection = intersection(list.get(i), list.get(j));
■■■■ ■■if (intersection != 0 && intersection != m && !setOfSubsets.contains(intersection)) {
■■■■ ■■■■return false;
■■■■ ■■}
■■■■ ■■int union = union(list.get(i), list.get(j));
■■■■ ■■if (union != 0 && union != m && !setOfSubsets.contains(union)) {
■■ ■■■■■■return false;
■■■■ ■■}
■■■■ }
■■■■}
■■■■return true;
■■}
■■
■■private void computeAllTopologies() {
■■■■do {
■■■■■■if (isSetOfSubsetsTopology()) {
■■■■■■■■topologies.add(setOfSubsets);
■■■■■■}
■■■■} while(nextSetOfSubsets());
■■} ■■private static int intersection(int subset1, int subset2) {
■■■■return subset1 & subset2;
■■}
■■private static int union(int subset1, int subset2) {
■■■■return subset1 | subset2;
■■}
■■public static void main(String[] args) {
■■■■// TODO Auto-generated method stub
■■■■AllTopologies allTopologies = new AllTopologies(4);
■■■■allTopologies.printAllTopologies();
■■}
■■
} 数学のことはまったくわからんが
数学とまったく関係ないところで
オブジェクト指向初心者にありがちな超絶スパゲッティなのはわかる >>420
ありがとうございます。
そういうオブジェクト指向のデザインの本でおすすめの本はありますか?
自然言語でいえば、文法の本ではなく作文の本にあたる本。 そういう本読みまくったけど
結局実務で人に修正してもらうまで自分のなにがだめかわからんかったから
自分から進められる本がない コードについての説明ですが、
例えば、 n = 3 の場合、
集合 {1, 2, 3} の部分集合の集合のうち
空集合 { } と {1, 2, 3} を含み、
共通部分をとる操作について閉じていて、かつ
和集合をとる操作についても閉じているようなものを
すべて求めるというプログラムになります。 >>422
ありがとうございます。
とりあえず、読んでみます。
>>423
本を読んで習得したいのですが、そう言われるのではないかと恐れていました。 さんすうのことはわからない
でもまず根本的にだめなところとして
変数が実質すべてグローバル変数になっている。
これならprivateなメソッドはStaticにして引数渡しにすべき。メソッドが何やってんかわからん
コンストラクタでクラスのメンバにアクセスするようなメソッドを呼び出してはいかん、
上と同じ理由で極力引数渡しにして戻り値を自分で設定すべき
ついでにクラス設計がひどい。トポロジーの配列を返すようなメソッドじゃいかんのか
自身のメンバ変数を更新しながら随時計算するようなクラスは典型的なアンチパターン do-whileのまわしかたがおかしい
数を1足しつつ最大値まで計算するだけなのになんでこんなことになってるのか
計算中に最終的な計算結果を作らずに
Print中になんか変なもんをたしてるのはどうか >>428
向いていないというか問題の領域が違うんじゃね? >>410-411
ありがとうございました。
何となく分かりました。 >>435
そのような漢字を使うと35歳に配慮しろと言われますよ 自分に技術がないのは教えてくれないからって言い訳もおかしい 無駄なレス多過ぎ。
>>342
はいはい。
>>343
そうでもないんじゃ。
>>347
まず先に荒らす連中に言ってくれますか?
>>348
子ども扱いしてごまかすなよ。先に荒らす連中は無罪放免か?
>>349
お前が失礼
>>350
先に仕掛ける方が消えれば両方消える。
>352-352 馬鹿は黙ってろ。
>>357
この男には取って欲しくない。 ウィンドウプログラムを作ってるんですが、Eclipseのコンソールに変数の値とか出力しますよね。
あの出力はプログラムが完成したあとはどうなるんですか?単に捨てられるだけですか?
何か悪影響はありますか?コードは消すかコメントアウトしといた方がいいですか? >>363
はいそれ差別用語ね。
>>367
荒らしが邪魔をしなければ何も問題は無い。
>>370
人のことは気にするくせに自分は何もしようとしない。
>>371
自分に自信が無いもんだから人をおとしめてプライドを保ちたいんですよ。
>>376
Mind your own work.
>>378
するわボゲ
>>429
変な言い回しするなボゲ >>442
スーパーウルトラハイパー大池沼キチガイアスペ糖質ガイジマン乙!!!!!!!!!!! >>441
ログに出力するようにしといて
開発時はコンソールに出したり
運用時はログファイルに出したりファシリティを変えたりする
ただそれも書き方によっては悪影響があったりする >>441
プログラムを実行した時の標準出力に表示される
例えばターミナルとかコマンドプロンプトから実行すればそこに出る感じ
Javaに限らずだけど、ログ出力ライブラリ(log4j, java.util.logging, commons loggingなど)ってのがあるからそれを使うといいよ
大抵のは設定ファイルでログの出力先を変更できる仕組みがあるから開発中は標準出力とログファイル、本番はファイルだけとか融通が利く スタンドアロンなクライアントアプリならログなんかどうでもいい
わざわざライブラリ覚えなくても適当にコンソールに垂れ流しときゃ十分 >>440
>まず先に荒らす連中に言ってくれますか?
恨みを買うような非礼や荒らしを散々したから粘着されてるんでしょ。
まず君が土下座して今までの非礼を詫びるのが筋だね。
先に手を出したのは君なんだよ。 すごく初歩的な質問で恐縮ですが、リストに突っ込んだ複数の内容のうち
途中のある内容を削除したら、後ろにあった内容は何も指定しなければ(勝手に)前に詰められる、ということでいいのでしょうか? 4月にJavaにvarが導入されるのを希望に生きる たかが掲示板に書いてあることぐらいで恨む方も何か病的なものを感じるけどね >>448
普通はそうだと思う。特別にそうでない動作をするように作られたものでない限りは。 >>444->>446
ありがとうございました。勉強になりました。 ファイルのIOの部分難解すぎて意味がわからない。
・文字列を処理したいのにchar型とかint型とか byte型とか
出て来るしtry catchとかIOExceptionとか何なのかがよくわからない。
・なんとかOutputStreamとか なんとかReader Writerが
おおすぎてどれを使っていいかわからない。
・オブジェクトを生成して別のコンストラクタの引数に渡している部分が
何をしているのかさっぱりわからない。
・BufferedReader / Writerとかを使う必要があるのかないのかよくわからない。
・結局文字列を読み書きするのとバイトを読み書きするのが何が違いがあるの?
・for(item : list){}文は使えないの? >>454
プログラム書かずにここに書き込んでるからわからないんだよ
5chやめよう 手短に書かれてる良さげなサンプルをコピペして細かいこと気にしないで利用する >>454
Exceptionは例外だ。
例えば、ディスク容量がいっぱいで保存できなかった、権限がなく読み取れなかったとか。
メインシナリオとは別の例外シナリオを考える必要がある。
設定ファイルを読み取れなかったからデフォルト値を使う、ユーザーに知らせる、ログを取る、何もしないのもアリだ。
ただし、ファイルやネットワーク接続は不要になったら閉じなければいけないのでfinally。
IOはJava外の制御できないとことやりとりするわけで、例外は大事。 try catchや拡張for文はまだしも、標準入出力用のソースが複雑ってそりゃそうだと思うんだけどw >>454
ファイルにとって文字かどうかは関係ないので基本byteでやり取り。
1byteずつやり取りすると効率悪いのでBufferに一度貯めてまとめてやる。
プログラム的には文字列として扱う方が簡単なのでReaderを使って内部でbyteにする。
これらを流れ作業で繋いでパイプラインのようにする。
時代がかわれば要不要もかわるかもな。
そういうのにいくらでも対応できる。
スペルチェックするWriterや語尾をにゃんにするReaderとか作ってかませることもできるぞ。 http://codepad.org/ANK9JtwS
GUIプログラムがAWTの入門みたいなのしかかいたことがなくて
Sceneを使うと複雑なグラフが簡単にかけるらしいので
テストコードをかいてみたんですが
表示の更新タイミングがよくわかりません
repaintみたいなのをよぶ必要があるんでしょうか
35行目までだとすぐにチャートが表示されるのに
スリープをはさむと最初何も表示されずにスリープ後に一気に表示される感じになります
数秒に1回データが更新されてグラフも更新するようなのを作りたいのですがどうしたらいいでしょうか ごめんなさい、これだけ書かせて下さい。
>>443 死ね。書き込まなくていい。
>>434
別に身勝手ではない。使い分けてるだけ。
>>438
そんな言い訳俺はしてない。
失礼しました。 >>463
Java以外の事を書くなって何度言われても理解出来ないのか?
幼児脳って本当なんだな。 >>463
オマエは巣で他人に配慮すべきと煩いが、ここでの配慮は無いのか? はいっ! はいっ!!
「ハイ! ハイ!」 「ハイ! ハイ!」
ぶひいいいいいいいいいいwwwww
「アイィィィ!ポイ!ポイィィィ!」
「んっ! 」 「んっ!」
35歳 「あっ。あっああ。。。」 「あっ。あっああ。。。」 はいっ! はいっ!!
「ハイ! ハイ!」 「ハイ! ハイ!」
ぶひいいいいいいいいいいwwwww
「アイィィィ!ポイ!ポイィィィ!」
「んっ! 」 「んっ!」
35歳 「あっ。あっああ。。。」 「あっ。あっああ。。。」
遊園地「ぶひいいいいいいいいいいwwwww」
ぬーぷ 「冬の大空に降り注ぐ彗星」
35歳&ぬーぷ&遊園地「 はいっ! はいっ!! 」
「ぶひいいいいいいいいいいwwwww」 ( ゚д゚ )クワッ!! ヘ(゚∀゚ヘ)アヒャ ┌(_Д_┌ )┐ >>462
残念ながらJavaFXなんか誰も使っていない
グラフ描きたいんならPythonかJavaScriptあたり使っとけ グラフ表示なら、Python の、matplotlib、
JavaScript の、D3.js とか
「java 再描画」で検索! うー ここ初心者スレなのにグラフ描くために独学で新言語覚えないといけないんですね…
Javaだけプログラムの授業があったからたまたまかけるだけで
実行環境のインストールすらわからない…
ちなみにその2つってスクリプト言語ですよね
ウェブサーバーインストールしてブラウザでアクセすして動かす感じになるんですか? >>473
PythonのmatplotlibはAnacondaだけ入れてスクリプト2,3行実行するだけで簡単にウィンドウが開いてグラフが出るよ。
この際だから覚えておくといいけど、基本的にJavaはWebアプリケーションを作るのに使われていて、
クライアントPC上で動かすものを作るのには全く使われていない。 トリ割れでも、
2年前から俺の行動を真似た奴は一人も居ない現実が有る。 馬鹿だから使いこなせないだけでSWTで何でもできるけどな >>475
Androidのスマホやタブレットをお忘れなく。 設計思想としてはどんなマシンでも動くクライアントアプリケーションが目的っぽくはあるけどな
最初からWEBアプリケーション目指してた訳ではないだろう Windowsで問題なく開発できて、UNIXで運用できて、
開発者にも特にUNIXの知識がいらないという点が、業務ドカタ開発には最適だったということだね
結果として、作ったもののポータビリティではなく、作る人間のポータビリティが評価されたわけだ 誰も回答できなくて挙句違う言語使えとか笑える
知らないなら黙ってればいいのに javaFXもコードとUIとスタイルの分離がしやすくてわりと便利
全然流行ってないけどな guiで流行っている言語ってなんですか?
やっぱりwindowsが多い世の中なので、C#とかなんですか? 今はElectron(HTML/JavaScriptでGUIアプリを作れるプラットフォーム)が流行り
クロスプラットフォームだし 知識は無いけど偉そうにしてる人しかいないから
初心者なら親切な人が多いC#がおすすめ java8では非同期処理に使うテクノロジーってなんなの?
ThreadクラスとコールバックとRxがあるってのは調べた
当方C#erだからTaskやasync awaitと類似のものがあると嬉しいんだが無いのかな? CompletableFuture
でもJavaではスレッドを積極的に使うのがわりと文化的に普通で、C#のような継続渡しを使った非同期プログラミングは一般的ではない
CompletableFutureでやろうとしてもC#みたいに○○Asyncメソッドが沢山用意されてるわけじゃなくて、全部自分でラップしてやる必要がある
そして、ラップしようとしてもJavaの既存のライブラリはスレッドをブロックするメソッドしかないケースが多いので
supplyAsync(Task.Run相当)だらけになりがちで、実質あまり意味がない(結局スレッドを消費する)
はっきり言って無駄な労力だから諦めてスレッド使うことを強くお勧めする。 雪風「○○○きもちぃい!!○○○きもちぃい!!○○○きもちぃイィのぉ〜〜〜」
雪風「マジこの○○○神なの!?!」
「○○○良い、○○○良い、○○○イク、○○○イク」
「○○○ イっちゃうのぉ〜〜〜〜〜」
雪風「見ちゃらめぇなのぉ〜」
雪風「見て欲しいの欲しいのぉ〜〜〜〜」
雪風「○○○イっちゃう!!、○○○イクiku、」
雪風「○○○最高なのぉ!!! マジ神なのぉ!!!!」
雪風「見てっ!!!」「見ないで!!!」
雪風「だらしない○○○見て!!!!」
雪風「○○○イクノォォォォォ」
雪風「頭の中がイッチャてるのぉ〜〜〜〜きもちぃぃのぉおおおおおおおおおお」
雪風「規制されちゃうのぉ!!」
雪風「○○○規制されちゃぅのぉ!!?」
雪風「こんな、○○○見た事ないのぉ!!!」
雪風「奇声が気持ちぃぃのぉおおおおおおおお!!!!!!???」 スレタイ読めませんかぁあぁあああ??
スレを荒らすの止めてくださっぁーーいwwww
あなたが反応しなければいいだけです YOおおwwww いい加減にしろ! YOOOおwっwぉおおおwww
ここはJavaの質問スレだっての
お前等が来るから成りすましもふざけてここに書き込むんだよーーんwwww
お前が反応しなければ飽きてそのうち居なくなる
反応するな書き込むな wwwww
バカには無理だろうけどなwwww おちんちん が 擦り減るから コードが書けませーーーんwwww。
40歳までには就職するんでぇええええ ぢ(だ)ぁいじょうぶでしゅうううぅううwwww
おちんっぽっぽ
おちんっぽっぽ ぶひいいいいいいいいいいwwwww なーーーっつってwww つっちゃったぁあwwwww
なーーーつっってwwww つっちゃったぁあああwwwww
ワン ワン! うぇわん ぶひいいいいいいいいいいwwwww 発達障害ですから障碍者枠で就職できたらと思います。
そうですかねえ?
いや、配慮が行き届いた世界になればいいなあ、と。
あんたがたの言い分を借用すると、もともと重症だったんじゃないの?
上にも書いたけど、作業所に通い始めていろいろ得てる。辛さも含めて。 AndroidでMainActivityクラスで実装で悩んでいます
WebViewクラスの変数をメンバ変数として持つべきか、
それとも
メソッドで呼び出すようにして各メソッドからアクセスする際、そのメソッドをコールして呼び出すべきか。
Webアプリ等の場合だとスレッドセーフな設計を求められるので、メンバ変数は極力使わないのがセオリーでしたが、
androidはよくわからないので、今のままでいいか、それとも修正すべきか迷っています >>510
Android用のスレがあるからそちらで聞いた方がいいと思う。 教科書で出てきたんですけど、
for(int i = 0; i < array.length - 1; i++) {
for(int j = i + 1; j < array.length; j++) {
if(array[i] < array[j]) {
swap(array[i], array[j]);
}
}
}
みたいなソートってなんていう名前のソートですか?
バブルではないのは分かるんですが。。。
今手元に教科書無いのでうろ覚えで書いたので間違ってたらすいません。 誰だって調子が悪い時ぐらい有るだろ。
迷惑被った奴には悪いと思うが、そう言う事だよ。 >>518
そういう事ってどういう事だよ?人間初心者 すみません。オブジェクトと、フォートランなんかに出てくるサブルーチンや関数の違いがよくわかりません。どなたか教えてください。
また、クラスだけあればいいと思うのですが、なんでわざわざコンストラクタに同じようなことを書くのでしょうか。 >>522
質問の意味は分からないが
全部staticにせよとの天啓 >>522
オブジェクトとサブルーチン関数は全然違う。
まずはオブジェクトってのは物に例えてプログラムを見るって感じ
自分説明下手なので調べてくだされ。
コンストラクタに同じ事を書くってのが良くわからん・・・?
コンストラクタはインスタンスを作る時の処理。
この回答でいいかな?インスタンスは・・・クラスから作られたオブジェクト。
これも調べてくれw Objectクラスに備わっているメソッドについて質問です。
自分独自のクラスを作成したら、基本的には必ずtoString()、equals()、hashCode()
メソッドはオーバーライドするものなのでしょうか? >>526
toStringは任意
equalsやhashCodeのオーバーライドは必要がない限りはしてはいけない
equalsを実装したクラスを継承すると置換原則が壊れるからな Kotlin の、Data Class では、
何もしなくても、その3種の神器が備わっている >>522
何から考えるかの違い
オブジェクトを中心に考えると上手く行きそうなドメインではオブジェクト指向をサポートしているJavaを使うのが有用 >>522
データとそれを処理する関数などのプログラムを一括りにしたようなのがクラスだよ。
コンストラクタは主にそのデータの初期化をするための特別なメソッド。 >>527
分かりました。ありがとうございました。 サブルーチン・関数は、一連の処理・手続き。
オブジェクト指向よりも、前の時代の話で、オブジェクト指向とは関係ない
一方、メソッドは、オブジェクト指向での関数のこと。
クラス内で定義されている、そのクラス・オブジェクトに紐づいた関数
つまり、クラスには、関連するデータとメソッドが、パッケージ化されている。
つまり、クラスとは関連しているかどうかに、意識の重さを置いている オブジェクト指向がサポートされていない言語でも工夫するとオブジェクト指向的なプログラムは作れないわけではないけどな。
例えばC言語なら構造体作ってそれのメモリ確保してからそのポインタを受け取ってそこにアクセスする関数作ればなんとなくオブジェクト指向になる。
ただ、プログラマがそうなるように書かなきゃいけないから大変だけどな。 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない >>534-539
Javaと関係無いレス連投してんじゃねえバカが 現場でカラム数が300もあるようなテーブルを扱っていて困っています。
何処かにこれらのカラム名の文字列をArrayListか何かで保持して
「変数名/メソッド名命名」をループか何かで自動化したいのですが、よい
方法はありますか?
このテーブルを制御するクラスにはフィールドを300も定義しなければ行けないんでしょうか。
テーブルの1カラム名はものすごく長く、変数名としては非常に使いにくくて
誤記の懸念と、漏れを検出するのが非常に困難です。
さらにこんなフィールド名に対して getterやsetterをいちいち定義する
となるとさらに大変です。 >>542
それって何かのRDBにJDBCで接続してやりとりしてるの?
そうじゃなくてその後でメモリ上にそういうデータ取り込んでおく所がそうなってるってこと?
列名をハッシュに突っ込んでおけばいいだけのような気がするが。
ていうかMapにすれば列名をキーにしてデータ入れとけるよね。
列名については JDBC なら ResultSet のインスタンスから getMetaData() で ResultSetMetaData の
インスタンスを取り出してそれに対して getColumnName() をする。
そうやって1レコード分のMapインスタンス作ったらListにadd()するとか。 >>543
そうですね、さらにそのレコードが複数あるので
そのMapを更に主キーの値と対応付けて外側にMapする
二重Map構造を考えていたんですが、アドバイスと考えが
同じなので安心しました。
あと「getMetaData()」「getClumnName()」というのは知らなかったので
調べて活用してみます。
有難うございます。 そんな小手先の対応じゃ楽にならないよ
頼むから正規化してくれ たぶん、表設計がアホだから、
部品番号とかを、行にせず、列にしているんだろう
行・列を勘違いしているのだろう >>546
あー。たまにあるね。DATA1, DATA2, DATA3, ... , DATA20 みたいなふざけたやつ。 会社でテーブルの設計書見てたら
商品コード1、商品コード2、…、商品コード60
ってテーブルが出てきて暗澹たる気持ちになった COBOLエンジニアがこういう形式を好む
COBOL上がりで現代的なコーディングを知らない年配が設計するとこうなる 将来追加される可能性が高い方を行へ
低い方を列へ
でいいんだよな?
名前 年齢 性別 住所 ・・・
Aさん
Bさん
・・・ >>551
名前 属性 値
Aさん データ1 ほげ
Aさん データ2 ふが
Bさん データ1 ふが
みたいなことだろう
性別とか生年月日(年齢)のような項目が決まりきってるものでこれやり過ぎるとそれはそれで複雑になったり遅くなるけど >>551
次元が違うのは列
上と下で足し算したり平均値取ったり比較したりできるようにするのが基本 >>552
グループ番号作ってその番号で複数データまとめればいいのでは? 悪い
なんで名前の前にインデント入れたんだろうw
だよな
上下にソートできるような構成ならいいよな CharacterIterator.nextの戻り値DONEとはなんですか?
例も含めて教えていただけるとありがたいです static final char DONE
反復子がテキストの終わりか始めに達したときに返される定数です。値は '\uFFFF' であり、有効な Unicode 文字列で使用できない「文字でない」値です。
関連項目:
定数フィールド値
テキストの始めから終わりの方向へたどります。
public void traverseForward(CharacterIterator iter) {
for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
processChar(c);
}
} >>557
ありがとうございます!
非常にわかりやすい例で感謝です
これでシナリオスクリプトを実装できます >>559
いや、同じ人に対して複数の同種の何かが紐付いてるんでしょ?だからまとめるための番号作ってそれで紐付ければいいんじゃないかという話。 35歳がどうたらって言ってる奴何なの?鬱陶しいんだけど。 Javaでソケット通信を行うサーバプログラムを書きたいのですが、どなたかアドバイス願います
条件ですが次のとおりです
・クライアントは常に1つ
・やり取りするのは改行でおわる文字列データのみ
・GUIもあるので通信処理は別スレッド
最初はwebで調べて受信部を次のように書いていました(別スレッドです)
while(true) {
if ((line = reader.readLine()) != null ) {
何らかの処理();
}
}
これで受信自体は問題なく行えていたのですが、これだとデータが流れていない間は
readLine()でブロッキングされて、メインのプロセスが終了しても通信スレッドがゾンビで
残る問題が生じました なので、次に
while (flag) {
if (reader.ready()) {
line = reader.readLine() ;
何らかの処理();
}
}
としてプロセス終了時は flg をfalseにすることでスレッドもちゃんと停止してきれいに
終了できるようになりました。
ただ、この書き方だとクライアントの切断が検知できず、Acceptに戻る事が出来ないんです
クライアントから切断を行ってもずっとwhile(){ }の間を回り続けています
・プログラム終了時にゾンビスレッドを残さない
・クライアントの切断を検知して再度Accept() を行うようにする
には受信処理をどのように書けば良いのでしょうか? >>563
こうすればいいのでは?
String line;
while ((line = reader.readLine()) != null) {
処理
} Keep-Alive とかで、5秒毎に、相手の生存を確認するとか、
Timeout とか >>560
何を言ってるんだ
こういうデータの多く、特に増えたものは
nullかデフォルトなのでそれでは意味ないだろう
キーが名前なのは不適切と言うなら既に別の話 >>567
いやもうどうでもいい。君には話が通じないようだ。 普通にデータは正規化しましょうという話で終わりだと思うが… >>552
その系統でやりすぎてとてもめんどくさいことになってるテーブルと戦ったことあるわ
まだ振り切って全部縦長になってりゃ何とかなるのに横長も居たりするのでちょー困った 縦とか横とか頭の中がエクセルなのかな
>>568
グループとか同種とかくくりの曖昧なものが1人の頭の中にしかないからな1人で話しててくれ Mockito使えばDI使わなくてもテストしやすいんじゃないかと思ってるんですが間違ってますか?
DIは今でも必ず採用すべきものでしょうか。 DIなんて要らないし単体テストも必要ないです
手法にこだわるのはキモオタです 原理主義的なTDDは疑問だけど、でも単体テストは要るでしょう。
DIはインターフェース増えまくるのと、一部の永続化されるクラスについてどうやるのかとか。
永続化をカプセル化すると、DBとかからの読み出しで値を作ってしまうが、
それがDIコンテナに設定されたルールに従ってるか分からないし。
じゃあ、DIコンテナ側で永続化も扱えるんだろうか。よく調べてないけど。 必ず要るものじゃないっしょ
単体テストやってる途中に先を越されて類似のサービス
公開されたら二番煎じの謗りを免れないよ
品質よりスピードが利益生むこともある
手法にこだわらずにケースバイケースで単体テストは要らない 日本がIT後進国なのは品質に過剰にこだわりすぎてるからだと思う >>576
根本的には請負というビジネスモデルのせいだよ
客との間で責任が分かれているため、客にとってのビジネス的な重要度を無視した過剰品質になるのは当然のこと
言われたことしかせず同じようなもののスクラップアンドビルドを繰り返すばかりです技術も全く蓄積しない DIってDepedancy Injectionのことだよね?
DI使わずにどうやってあとからMock注入するの? powermockだとできるみたい。typemock?も
ところでlog4jは各クラス毎に宣言するほうがいいんですか?
Constクラスみたいなところに1つ宣言するだけではダメですか? レベルの低い話でごめんなさい
Applet で書かれたものを Frame に直す、というのをチマチマやっていたが、
デフォルトの Layout Manager が applet と frame で違うんだね、ずいぶんと寄り道してしまった… 面倒な時はFrameのインスタンスにAppletのインスタンスをadd ごめんなさい。
ここしか書き込む場所わからず。
当方27歳。ただのしがない営業マン。ひょんな話からプログラミングに興味を持ち、Javaを独学やり始めた。
ただ不安な事に、パソコンのことが全くわからない。
オブジェクトを勉強しててもそのことがすごいネック。将来はプログラミングで生計を立てたいと思ってる。
そんな、『プログラミングを勉強しだしたけど、その前にまずパソコンの基礎から学ぶべき人』にオススメの本や学び方などご教示いただきたく。
これまでパソコンを毛嫌いしてたツケがw >>586
基本情報取れ
最低限必要な知識はコンパクトに学べる なんでパソコンを毛嫌いしてたのかがイマイチよくわかんないけど、アルゴリズムとかから勉強したら?
あと、PCの学習を並行するなら、メモリを意識するC言語から始めてみては? 今時はスマホだけって人も多いだろよ
だがそんな人がプログラミングで何しようと言うのか解らんが ごめんなさい。
ここしか書き込む場所わからず。
当方35歳。ただのしがない営業マン。ひょんな話からプログラミングに興味を持ち、Javaを独学やり始めた。
ただ不安な事に、パソコンのことが全くわからない。とえあえず15ノートpc購入
オブジェクトを勉強しててもそのことがすごいネック。将来はプログラミングで生計を立てたいと思ってる。
そんな、『プログラミングを勉強しだしたけど、その前にまずパソコンの基礎から学ぶべき人』にオススメの本や学び方などご教示いただきたく。
これまでパソコンを毛嫌いしてたツケがw あいつの「づか」って名前が既に病的だと思うのは俺だけか? >>587
専門学校行くのがいいと思うよ。働きながら学べるコースがあるところ。
基本専門学校は資格ベースだから、なんかしらの資格をとるまで必死に
教えてもらえるよ。資格を生徒に取らせた数こそが専門学校の講師の
ノルマだからね。だからそういう厳しくやっている専門学校にいくといい。 >>591
コピペだろうけど35歳から未経験者がJava独習しても
それで生計を立てるのは絶望的だと思うよ。
そんな人雇わなくてももっと若い人雇ったほうが鍛えがいがあるし。 >>595
基本情報くらい独学で取れない奴はやめといた方がいいと思うわ
自分で勉強できない奴が入ってきても生涯奴隷のままで最後は電車止めることになるよ まずは設計やUML勉強して技術営業やってみればいい
趣味でプログラムして実力をつけていけはいい 営業スキルあるエンジニアは技術が二流でもかなり重宝される
理系有名大卒で技術持っててもコミュ障はゴミ
付け焼き刃でいいから入門書さっと流してさっさと現場に入ったほうがいい
半年もすりゃ理系コミュ障より昇進してるよ コンピュータアーキテクチャの本って現代だと何がオススメなんだろうな
古典は色々出てくるけど、クラウド時代に必要かって言うと… >>596
50歳でも60歳でもプログラマーで生計を立ててる人はいますし、
新しい技術も吸収してます。
35歳だからと言って絶望する理由はないと思いますが。
35歳で絶望しないといけないなら、27歳でも同じですよね。
新卒の22歳のほうが鍛え甲斐があるでしょうから。
このたかが8歳の差で何が違うというのですか?
35歳という個人に対して恨みがあってそれを晴らしたいだけでは? >>604
年齢歳では無く、個体差の問題です。
その35歳は、入門書を1年掛かって読み終えて基本が身に付いていません。
学習意欲も無く、答えが記載された練習問題は取り組みますが、オリジナルの問題を出されると何もしません。
実力・実績・向上心の全てが有りません。
ワード・エクセル・パワーポイントが使えると言うだけでプログラマとして入社しようとしています。
対人関係のためにサポート要員を付けろ・自席にパーティションを区切れとも言ってます。
門前払いの物件ですが、障害者の立場を悪用して採用担当が疲弊するだけなので
恨みでは無く、面倒なだけの案件を避けたいのです。
ですから、あなたに雇って貰えれば幸いです。如何でしょうか? >>605
貴方の言うことが事実であれば、採用する会社はないでしょうし
何も心配をする必要はないのでは?
貴方の会社はどこにも採用されない人を必ず雇用する最後の砦か
何かなのですか?そうでないのならば何も心配はいらないですよね。
単なる私怨で35歳という個人に嫌がらせをしているだけということですよね。 >>589
そういやスマホでスマホ用アプリ開発出来たらいいよな。
今でも限定的なのはあるとは思うが。もっとフルで。 何か一芸に秀でちゃうとその仕事ばかり回されて
その技術とともに引退してく気がする
会社が技術者を使い捨ててる
なのでフリーになった >>607
CIサービスを使うのが手っ取り早い
でもスマホの小画面で開発すると健康に悪影響あるからやめたほうがいい >>606
人事システムに関わっていて採用担当の人と繋がりが有り面接に同席した事もあります。
ここまで酷い奴に出会った事は有りませんが側から見ていて担当者の苦労を知ってるだけに黙っていられませんでした。
セーフティーネットを悪用しないで自分の実力で来るなら気にしませんが
こんな奴を相手にしないといけない担当者に配慮をして頂きたいです。
言動を私怨と受け取られても構いませんから、35歳を雇ってあげて下さい。
お願いいたします。 >>606
横からすまんが、35歳にエサをやらないで欲しいと言うのは俺も同感なので、
可能ならば無視して欲しい。 >>606
雇ってやれよ
35歳も望んでいるだろうし
嫌がらせをされる事も無くなる
ウィンウィンな関係に! 句読点と4行以上書いてる奴は自演荒らしだから絶対触るなよ >>608
ちょっと違うが
能ある鷹は爪を隠すで渡り歩けばいい そもそもプログラミングって楽しいのになんで仕事なんかにしちゃうの?
人からあーだこーだ言われたり自分がやりたいこと邪魔されたり
いついつまでに仕上げろとか言われたら楽しいもんも苦痛に変わっちゃう
人生すり減らしてるだけな感じがするわ
できたら仕事にはしたくないねぇ 資金と人員があるとできる事が全然違うからね
好きで仕事にする選択は普通にアリだよ 寝てても出来るようなJavaの業務プログラムすら苦痛とか言ってるような
低レベルのアホはおとなしく肉体労働でもやってたほうがいい
もっともPGの仕事なんかしたことないだろうがな プログラミングが楽しいというのはいかにも初心者だよな。 あーまだ楽しいから初心者だ
楽しくなくなっていく経過例を知りたい 周りの人が人海戦術であっというまにコードを破壊していく時かな
個人じゃどうやってもフォロー無理ってなるとモチベーション下がる でも俺の言ったこと結構効いてるんだろ?ん?わかってんだぜ^^ >>620
壊れやすいコードしか書けないからそういうことになる 目的地に辿り着くまでの交通手段の一つとしか思わなくなったな
適切な乗り物や経路を選ぶことこそが重要で面白い部分で、
小手先の運転技術に拘ってるうちは初心者だと思うわ >>622
壊れにくいコードがこわされるんですよ。
強引にコードを改竄されちゃう。 >>623
A「このコースでこのタイム出た」
B「いやあのコースの方が早いし」
高確率で両者は平行線だな そもそも
可読性まで考えると下手にソフト側で工夫するより、強力なハードウェア一個入れる方がいいってのが現代だからな >>627
それ何十年も前からそうだったように思う。 >>627
今だとクラウドのマネージドサービスもあるからな
ジョブのキューとかシコシコ自作する奴はもはや老害 すみませんガチの初心者なのですが、
これから勉強を始めるにあたって、おすすめの教本などありますでしょうか? >>631
他所のスレでその本読んでる人が、本の通りと言って
ものすごく腐ったコードを貼っているので、
その本やばいんじゃないかと思う。
その人自身がすごいイカれているだけかもしれないけど。 スッキリわかるJava入門 第2版
販売開始日:2014/08/07
Java7の頃だよね。結構内容古いんじゃないの? >>632
分かってて書いてるんだろうけど、それこのスレでも暴れている
◆BrBq2CJg6HGdという頭のおかしい奴だから。
本は古いけどまともだよ。◆BrBq2CJg6HGdが勝手に間違って
解釈して暴れているだけ。 そういやHeadFirstのJavaってどうなの?
デザパタ本は結構良かったけど ありがとうございます。
今の仕事に加えて2本目の柱にすべく、いちから頑張ります。
(10年前にITにいたなんて言えない。。。) >>609
その辺はVR用ゴーグルにセットして3Dで まずこの本で、しっかりと、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014
その次に「たのしいRuby 第5版、2016」という道筋が、鉄板!
以後は、Python, JavaScript, C#, Kotlin など、お好きな言語へ進む
評論家・作家が集まって、数十冊のJavaの本を論じる座談会でも、
議論の半分以上を、スッキリ1冊で占めるというw すみません最初でつまづいてます
Javaをインストールし、環境変数で
PATHにC:\Program Files\Java\jdk-9.0.4\binを追加したのですが、
CMDでJavacと入れても認識しません
設定がおかしいのでしょうか? >>642
議論になるということは、すっきりしていないってことではw >>644
どんな古い情報を見てやってるのかわからないけど、今はインストーラがやるからそんなパス指定する必要がないというか、やると更新の時に面倒だからやってはいけない
それ外してやったらどうなる? え?今はインストーラがやってくれるの?いつの間にそうなったんだ?
じゃあPATHに追加しといたやつ外すか。 Java1.8.0_91はpath手入力必要だったぞ。 感情の原因はそれを感じる者自身の固定観念・価値観・自己ルール
解釈の原因は情報発信者ではなく受信者。誤解の原因も解釈者
「言葉 風紀 世相の乱れ」はそう感じる人の心の乱れの自己投影
問題解決力の低い者ほど自己防衛の為に礼儀作法やマナーを要求する
憤怒は無知 無能の自己証明。中途半端な知識主ほど辛辣に批判する
論理的思考力の低い者ほどデマ宗教フェイク迷信に感化傾倒陶酔洗脳
史上最も売れているトンデモ本は聖書。神は人間の創造物
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的はない
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)する
宗教民族領土貧困は争いの原因ではなく「理由口実動機言訳切欠」
社会問題の根本原因は低水準教育。必要なのは適切十分な高度教育
体罰は指導力・問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の結果。奇人変人の当選は議員数過多の徴候
感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・) ArrayListはArrayList独自のメソッドを使わなければList型で宣言すべきとあったのですが、
LinkedListも同様にList型で宣言したほうが良いのでしょうか? Windowsコマンドプロンプトで実行させて文字列を表示する時に
奇数行と偶数行とで文字の色を変えたいのですがどうすればできるのでしょうか? 比較文で==を=にしててもコンパイル通ってしまうために、たまに間違えたまま気づかないことあるんだけど
間違わないようにするライフハック的なものは何かないですか ヨーダ記法はどうなんすかね?
if (x = 0) 通っちゃう
if (0 = x) 通らない >>655
やめたほうがいい
LinkedListはgetがO(N)なので、不用意に混ぜるとパフォーマンス劣化の原因になる恐れがある
Javaのよく知られた設計上の欠陥だよ >>657
定数との比較だと、左辺を定数にしたりするけど、最近は嫌われる。 >>659
それは変だ、かってに混ざることはないよ >>663
混ぜたい(というか区別したくない)からListにするんだよ
常にこのコレクションの実体はLinkedListだと意識してるんならLinkedListのまま扱えばいい
その方がより「意図の伝わる」コードになる >>656
エスケープシーケンスを使うとできると思う(但しコマンドプロンプトの設定に左右される可能性はある)。
以下のページはC言語で作ったサンプルがあるが参考になると思う。
https://www.grapecity.com/tools/support/powernews/column/clang/047/page02.htm LinkedListの要素アクセスがO(N)なのはそういうデータ構造だから仕方ないんじゃないのか?
その代わり要素の挿入とか削除がArrayListより高速な利点があるわけだし用途によって向き不向きがあるだけ >>665
ありがとうございます
とりあえずやってみたらそのまま表示されただけだったので
面倒なので諦めます >>666
意図を明確にするためにListインターフェースを使うべきじゃないよね >>655です
>>659 >>663 >>664 >>666 >>668
ありがとうございました。LinkedListはLinkedListということで
ListはΟ(1) でLinkedListはΟ(N) なので自分や他人が混乱しないためにもLinkedListのままで良いと・・・多分 使うべきかどうかは文脈によるが、あえて一般化するならListインターフェースにすべき。
データ構造をどうすべきかは、インスタンス化のときだけは関心があるが、実際にアクセスしたり挿入したりするときに気にならないようにしておくのが抽象化という考え方。 >>669
Listはインターフェースなので、計算量とかない。
そのロジックでLinkedListで宣言するならArrayListもArrayListと宣言すべき。
>>670にも書いたが、何を抽象化したいかはときと場合によるので、どっちがいいとか悪いとかない。
ただ、一貫性がないのは悪いと言えよう。 >>671
それは極論
現実にはほとんど全てのケースにおいてリンクリストより配列ベースのリストの方がパフォーマンスやメモリ効率に優れているんだから、
リンクリストの存在なんか無視してListの実装は全てランダムアクセス可能であるという前提で作るのは実用的判断としては悪くない
.NETは現にそうなってるね >>671
抽象データ構造として計算量はあるべきだと思うよ
ArrayListはインデックスでアクセスするならArrayListを使うべきだよ JavaのListインターフェースはゴミと言っていいでしょう MapでさえもHashMapとTreeMapで計算量違うんで
Listインターフェースの実装によって計算量が違うのも
認めるべきだと思い直しました 違うのか、ListインターフェースもMapインターフェースも
ゴミだという結論も出せるのか >>667
変だなと思ってこちら(Windows10)でやってみたら確かにできなかった。
作ったプログラムはこんなやつだ。
public class EscSeq {
public static void main(String[] args) {
for (int i = 31; i <= 37; i++)
System.out.println("\u001b[" + i + "mABC\u001b[0m");
}
}
こういう出力になった。
[31mABC[0m
[32mABC[0m
[33mABC[0m
[34mABC[0m
[35mABC[0m
[36mABC[0m
[37mABC[0m
ところが実行時に以下のように Perl の何もしないプログラムにただ出力を渡してそのまま出力させてみたら色が付いて出た。
java EscSeq | perl -pe ""
この perl は Cygwin の perl だ。とすると Cygwin のライブラリが実行時に何かしているのかも知れない。
とすると同じことができれば Java でも同じようになるだろうとは思うが、今のところ俺にはやり方がわからない。 >>667
もう一つ色を出す方法を発見。プログラムの出力をファイルにリダイレクトしてからそのファイルを type コマンドで出力したら色が出た。
とすると java コマンドが何か変なのかも知れないが、どういうことなのかよくわからないね。 適切な抽象度合いは文脈によるって言ってんだろうが
なにがいいとか悪いとかない >>672
配列ベースは概念は簡単で便利だけれども、削除や挿入のコストは考えないといけないのではないでしょうか?
そういうときはリンクリストベースの方が適している >>682
いや、途中削除挿入が少々あったとしても配列リストのほうがほとんどの場合において速い
リンクリストってとんでもなくメモリ効率の悪いデータ構造なんだよ ついでに言っておくと、Listのaddやremoveを使ってLinkedListにインデックス指定して途中への挿入や削除をしたらO(N)だ
LinkedListのパフォーマンスの恩恵を受けるためには必ずListIteratorを使わなければならない
逆にArrayListでわざわざListIteratorを使う意味なんかないわけで、そういう点でも両者を一括りにして抽象化する意味はほとんどないのよ LinkedListはLinkedHashMapのためのクラス。
LinkedHashMapは、LRUとかでよく使う。 >>683
配列ベースでの挿入や削除は、オブジェクトのコピーが延々と繰り返される点を考えれば、重大なコストですよ
単にコピーするだけならまだしも、コピーコンストラクタが働くことは、これは大きなコストだから、できるだけ避けないといけないのでは?
これは私が C++er だから考えてしまうことなのだろうか?
リンクリストでの挿入や削除では、コピーコンストラクタは働かない(既存のオブジェクトに手が加わらない)。
リンクリストの効率が悪い、というのは、リンクリストのメリットに触れない、一面的な意見に思えます >>684
>Listのaddやremoveを使ってLinkedListにインデックス指定して途中への挿入や削除をしたらO(N)だ
それはおかしい、抽象オブジェクトやインターフェースを介しているからといって、実装側の効率が極端に変わることはありえない
List がリンクリストな実体を指しているのなら、そのメソッドは、リンクリストの効率に従うはず >>686
そうだけど Java の場合は参照だから C++ に置き換えて考えればポインタの配列になる。
だからコストは掛かるんだけど思ったほど遅い感じがしない。
それと実際の実装は一つ追加したら即配列全体を作り直すみたいになっておらず、
大きめに配列確保しておいてそれをオーバーするまでは同じ配列を使い続けて
その中でのコピーになるから要素数が少ないと気になるほど遅くならない。 >>687
挿入や削除の前に、指定されたインデックスの位置までポインタを手繰らないといけないからね
getもそうだけど、Listインターフェースに宣言されているから実装せざるを得ないだけで
本来存在すべきではない操作だよ >>689
>挿入や削除の前に、指定されたインデックスの位置までポインタを手繰らないといけないからね
なるほど
たしかに二分探索を実装する必要があるなら、それは配列ベースになるだろうね Javaで巨大なコレクションの途中に挿入するコストが気になるっていったいどんなプログラムなんだろう >>692
巨大なコレクションだからこそ、List の挿入削除の実装に気を使うべきなんですよ
1000件 2000件の小さなリストならどっちでもいい >>693
だからそんな巨大で変更可能なコレクションを使う場面ってどんな時なのかなって ないよ。
普通そこはクエリの調整のほうが効きやすいし分業しやすいから。
しかもそんな長大レコードの途中にオンメモリで値挿入とか狂気じみてる。 百歩譲って巨大なコレクションの途中へ挿入する必要があったとして、
挿入位置が予め決まっていなければリンクリストのメリットはないわけだが(689の理由で)、そんな状況あるのか?
挿入位置までのリンクリストのシーケンシャルスキャンのコストが無視できるくらい沢山の要素をまとめて挿入するのだとしても、
その場合は配列でブロックコピーした方が速そうだな ソート済みの巨大なリスト同士をマージするときには使えるかな?
と思ったけど新しい配列リスト作ってそこに追加してった方が速いだろうな
インプレースで処理できるといっても、もともとリンクリストはメモリをバカ食いするから本末転倒だし >>695
オンメモリとは限らないのでは?
普通にリンクリストでデータ構造が実装されている例はいくらもあると思うよ、二分木、多分木になる場合や
順序関係・比較関数が単純でない場合は特に
まあ List でまとめる必要ははなからないことは自明だけれども >>694
そこでLinkedHashMapですよ ま、何億件とかデータが巨大なら最初からRDB等を使った方が何も考えずに済んで良いかもね。
まあでも巨大かどうかは動かすコンピュータのスペックによるか。億単位だろうが京単位だろうが
軽く動いてしまうマシンはあるだろうし。 >>707は(なぜか変換できない)ネタだろ
って突っ込んだらダメなん? 月極の読み方とは? 「月極」を「げっきょく」と読む人多数!
大人になってから知った読み間違い&意味間違い
https://gakumado.mynavi.jp/freshers/articles/11122 くっだらねぇレスを何日も続けるんじゃねぇよゴミカスども
ほんとゴミみてぇな奴しかおらんな 過疎ってJavaの話題を誰も書かなかったからだよ。何かネタがあるなら君が書け。
例えプロでも初心者になり切って何か質問書いてみろ。お題でもいいぞ。 >>719
言語としての将来性を考えるならそれがいいかもね
Javaを置き換える言語はあるがC#を置き換える言語はまだない >>720>>721
ネットでちょこっと見たけど
C#って制御文とかクラスの使い方とかJavaとほぼ同じじゃね? C#推しの馬鹿って言語的な比較しかしないから馬鹿なんだよな
言語使うだけなら小学生でも出来る
Webサービスとして業務的な汎用性がJavaに比べてゴミだから流行らないんだよ >>723
今はC#7だから結構変わってるのか・・・
やっぱりJavaやろっかな・・・ >>724
レンタルサーバーで気軽に使えないんだもん 図星かよゴミ
馬鹿はプログラムなんかやらんでスマホでも弄ってろよ >>722
そりゃMSがJavaVM作ったらSunから文句言われて怒ったゲイツがパクってWindowsに都合よくなるように改造して作ったものがC#だから当然。
当時はそうやってWindowsに囲い込もうとしたが、しかし、長いこと独占状態だったから広まるのが遅く、ほとんどWindowsでしか使われない言語になってしまった。
今はAppleのSwiftが似たような状態になっていてフリーになったのに中々広まらない。最初に変な制限があると出遅れる。 >>733
今ではスマホアプリやゲームのクロスプラットフォーム開発は完全にC#に持っていかれたし、
LinuxのWeb開発もC#に侵食されつつあるよ
今やランタイムを同梱する場合などのライセンス問題でJavaが嫌われてC#を選ぶという、
昔とは完全に逆転した状況になってしまった あー。そうだけど、もうフリーのやつも広まり切った後なのでほとんど影響ないんじゃないかな。 Javaが選ばれるのは、Javaの閉じたエコシステムに完結している限りにおいて、Unix開発の知識がなくてもUnixを使ったシステムが作れるからだよ
特定の技術の枠の中に閉じこもっていれば安心という意味においてはWin+VSと本質的には大差ない
Oracleが時代錯誤な独占体制を見直さない限り、長期的には今やWinから解放されライセンスもガガバガバな.NETに食われていくのは避けられないだろうね eclipseでメモ帳を作っています。
テキストファイルの文字列を編集可能な状態で出力したいのですが、やり方が分かりません。
Scanner(System.in)でキーボードから入力された文字列のような、そのまま直接キーボードで編集可能な文字列として出力したいのですが……。
何卒知恵を御貸しください。
お願いします。 >>738
追記、Scanner(file名)による入力のやり方を発見しましたが、そのままSystem.inと繋げるようなやり方はできないのでしょうか?
Scanner(file名)で得た文字列をSystem.inで編集したいのです Javaを本格的に使うと訴えられるんでしょGoogleみたいに
それじゃリスクあるからKotlinやC#使おうってなるわな >>738-739
HTML の、textarea のようなものを使うと簡単
eclipse にも、複数行テキストボックスのようなものがあるかな? >>734
>>736
javaはOpenからClosedになりつつあるってことだろ >>719
.NET CORE2.1出てから本気出す うちの職場はC#やめてJavaに統一した
統計はたいていMSの圧力下にあるから信用ならん
こっそりライセンス変えたり人のパソコン勝手に弄り回す会社のフレームワーク使う気になるかっての >>741
ありがとうございますTextAriaで解決できそうです本当にありがとうございます >>742
しかし言語そのものは文法定義でしかなく特許があるわけでも著作権があるわけでもないので独自実装やその実装のフリー化は誰にも止められないだろう。
例えあってもパクられてちょっと違ったもの違う名前で作られて終わりだ。Javaに対するC#のようにね。 >>749
そんなパクリ言語選ぶくらいならc#かkotrin使うわwww >>750
C#はJavaのパクリ言語だよ。仮想マシン上で動くという所からしてパクリ。MSが全力を上げてパクるとああなる。
もちろんWindowsはMacのパクリだしMacはAltoのパクリだ。この業界は全体がパクリでできている。 別の名前の似たようなタイヤが延々と発明され続ける。その中でビジネス的にうまく行ったやつが技術的にはクソだったとしても生き残る。宣伝のうまさやタイミングが重要だ。人間は感情でしか動ていない。理屈は常に後付の正当化であり誤魔化しに過ぎない。 >>754
それはDelphi作ってた人にやらせたからではないかな。 C#がDelphiの血筋とかいうのはMicrosoftの強がりというか詭弁
一部にていたりノウハウを流用している部分があるというだけで
全体的にどうみてもJava でもさ
Javaをパクったらクソが出来上がるはずだよね
でもC#はエレガントじゃん
矛盾してないか? null値というクソをJavaから引き継いで
ほどよくクソになってるじゃないか
Delphiではもっとしっかり考慮されてたのに
考えもなしにパクった証拠 それはJava以外から引き継いだんだよ
C++やVBファミリとの付き合いがあるからね 付き合いがあるからってすべてのオブジェクト変数をNull許容にする必要性がおもいつかない 当時の世間の要求に合わせて設計しただけだぞ
例えば、初期のC#に型推論がなかった理由は「当時はスクリプト言語の地位が低かったので、スクリプト言語だと思われたくなかったから」だそうだ
時代が違うんだよ Java使ってる会社のほうが貧乏な傾向があるのは認める Javaスレに何でJavaアンチが書き込んでるの? 少しは刺激がないとスレが過疎っちゃうからアンチも受け入れてるの Javaが廃れC#が栄えても
新しい何かが持て囃されてきたら
MSはそれを潰すために新しい物作って主軸を移すだろうからな
多くを求めずJavaでいいんだよ >>771
MSのJavaと言えばJ++やJ#というのがあったな
あれは廃れたが Microsoftにあくどい方法で潰されかけて
抵抗したら丸パクリされたあげく
協調すべきだったとか上から目線で評論家どもがほざく ユーザーとしては使いやすい物が残ればいい
OSはMacとLinuxが
言語はC#, TypeScript, C++, bash, powershell, pythonがあれば十分 Winは開発しにくいだけでユーザー側から見たらそんなにクソか? >>776
root/rootで簡単ログインできるもんね PowerShellはゴミ
コレクション周りでハマると、もうインラインでC#書いてやろうかと思う >>780
最近はcakeが楽すぎて、スクリプトも全部c#で書いてるわ
javaでcakeと同じことやろうとすると何がおすすめ? 最近はweb系は全てnodejsに支配されてる感がある あるプログラムを手を加えているるうちに
コマンドプロンプトで実行させたあとに1〜2秒ほどの謎のウエイトがかかるようになったんだけど何で待たされているのでしょうか
public class Sample {
public static void main (String[]args) {
(略 650行程度)
System.out.println("終了");
} //mainメソッドここまで
メソッドは10前後
}
上で言えばmainメソッドの最後で「終了」って表示してからその後何もさせてないのにコマンドラインの入力欄に戻るまでに1〜2秒待たされるようになりました。 肝心の処理がわからなきゃなんも言えん
とりあえずverbose付けて実行してみろよ? >>776
mac除いて素のC言語足せば文句なしだわ なんていうかMac以外は清潔感がないから社会人としてマナー違反
朝起きて身だしなみ整えずジャージで外を出歩くような感覚 Macはインテリアの一種であり見た目のデザインで売ってる製品だから実用性に欠ける部分があっても買うユーザは最初から気にしない。
まあしかし中身がUNIXであることにより少し救われている。 ビジネスマンならmacしか選択肢がない
やすい靴やすいスーツやすい時計やすいネクタイやすいシャツ
ビジネスマンなら身嗜みを間違えると相手に軽く見られるってことをわかってるだろう
それと同じで端末も身嗜みだからある程度金をかけてセンスがいいものを選ばないとね
ビシッと身嗜みを決めたビジネスマンが格安のネットブックやガキっぽいゲーミングノートを取り出したらこの人と仕事して大丈夫かなって不安になるよ >>790
これ
vimとsshがあればなんでもいいんだから、macで用が足りてる >>778
勝手に機能変えられる
止まったり重くなった時に原因調べるのが大変
OSがサポートしてるツールが少ない それ言ったらOSなんてなんでもいい
今時の開発環境はマルチプラットフォーム対応進んでるし
対応してなくても仮想化でどうにでもなる
中身はなんでもいいなら見た目やブランドが重要になるからわかってる人はMacを選択するんだよ >>801
あ、そうなの?じゃあWinでも足りるよ Windows10 で、WSL で、MS Store から、Ubuntu 16.04 LTS をダウンロードして、
Ruby をインストールする。
最初から、Python, vim も入っている
200MB ほどダウンロードして、850MB ほどの容量。
ただし、GUI版ではなく、Ubuntuサーバー
Java も入っていないけど、以下のパッケージがあるみたい。
* default-jre
* gcj-5-jre-headless
* openjdk-8-jre-headless
* gcj-4.8-jre-headless
* gcj-4.9-jre-headless
* openjdk-9-jre-headless Windows10 で、WSL で、MS Store から、Ubuntu 16.04 LTS をダウンロードして、
Ruby をインストールする
全パッケージの更新
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt install ruby
日本語ロケールと、man コマンドの日本語化
sudo apt install language-pack-ja
sudo apt-get install manpages-ja manpages-ja-dev
touch ~/.bash_aliases
ホームディレクトリに、.bash_aliases というファイルを作って、そこに、
export LANG=ja_JP.UTF-8
と書いて、bash を日本語ロケールにする
Java も、sudo apt install で、インストールできる >>794
それは主に接客をやる営業の人向けの話だな。かといって客の前で客以上の服とか物とか持っていると悟られるのはまずい。 >>800
標準でないから標準のツールが管理されない
>>799
先ず数えるツールがないとこから不便だな >>802
見た目やブランドを気にする人はそれによって人と競っているような人だけ。
普通の技術者はそんな所で競わないので結果的に見た目がどうでもよくなる。 >>807
環境変数 LANG の設定は ~/.bash_aliases じゃなくて ~/.bashrc に直接書いた方がいいのでは?
意味的にも違うしそもそも ~/.bash_aliases は ~/.bashrc で読むようになっているだけのスクリプトだ。
bash が直接読むファイルではないから違う環境に行ったら使えないかも知れない。 >>809
なるほど、比較対象のmacがそれじゃ数えられないね >>801
Linux でも足りる。というか、普通のLinuxディストリビューションだと何もしなくても最初からインストールされている。 >>815
なるほど
開発版と安定版みたいな感じか・・・ >>816
アップグレードし続けないとすぐにサポート切れになるがな RedHat みたいな感じかな。全部フリーのFedoraをテストして長期リリースにしてサポートで金を取る方式。
しかし元がフリーということは CentOS みたいなテスト後のやつを揃えたやつが出てくる可能性がある。 >>818
OpenJDKの改変はライセンス違反。
OpenJDKのソースはGPLだが、特許の利用許諾はJCPを通っていることが条件。
改変したらJCPの認定から外れるので、その瞬間にオラクルに特許侵害で巨額の賠償金を請求されることになる。 これってKotlinならセフセフなのか?
Javaはもうやめたほうが安全そうだな >>819
あ、そうなの? GPLは改変再配布を許すライセンスじゃなかったっけ? >>821
GPLv2による利用許諾はあくまで著作権の利用許諾
配布者が利用者を特許侵害で訴えることの可能な欠陥ライセンスだ
オラクルにとっては極めて好都合なライセンスでもある >>820
今流行ってるのは Java VM 上で動く Kotlin だが、それ使い続ける限り何か影響はあるかも知れない。
しかし kotlin は JavaScript で動くようにするやつやネイティブも作っているのでそちらは影響を受けない筈。 >>822
なるほど。
でも特許部分をくり抜いた版って出せるんじゃないかな?
まあそれだともはやJavaではなくなるのかも知れないが。 >>824
さすがにそんなことをするくらいなら.NET Core向けにJavaコンパイラとJava APIを実装したほうが遥かに建設的で手っ取り早いだろうな
オラクルに言わせれば、APIには著作権が及ぶらしいからどのみち訴訟は避けられないわけだが、
海賊版JVMを作るのに比べたら裁判の勝ち目はあるだろう 実行スピードは落ちても構わないのでCPUにかかる負担を減らしたい場合
簡単な方法は無いでしょうか 全部手動でやればいいんじゃね? CPUにかかる負担ゼロになるし。 >>829-830
分からないなら黙っていてください。(NGしました)
>>831
ありがとうございます。 文字列str1から文字列"str2"を検索する方法はこうですが
str1.indexOf("str2",0)
両方の文字を数値のbyte配列化してこれより高速に検索する方法ないですか?
地道に配列内を上からチェックしていけばいいですが
それよりスマートで高速な方法ないでしょうか?
文字処理は一般に遅いですが
結局str1.indexOfが一番はやい? 正規表現使えば?
速度だけならどういう実装が一番速いのかは知らんけど 気に入らないならソースの String.java を参考にして自作してみれば?
もっと高速化する楽な方法はJNIで作ったり外部コマンド動かしたりする方法かな。 >>834
電文処理など、文字列とBYTE列が交わるポイントは確かにあるけど、
可能な限り、文字列は文字列、BYTE列はBYTE列の世界で取り扱うほうが
いいと思うよ。 indexOfの実装にもよるんじゃねえの?
単なる文字列じゃなくなっても大手術しなくて済むように無理しないのが一番良いと思うけど。
バイト列だと思いもよらない文字の切れ目でヒットしたり地獄見ると思う。
入ってるかどうかだけが知りたいならcontainsにするか、それでも遅いならCharSequenceにしてからトライ木にするか。 >>834
ボトルネックでないのに無駄に高速化しようとするのは愚策だから止めた方が。
ボトルネックになってるのであれば同じ文書内を複数の単語で何度も検索するとか
同じ単語で大量の文書を検索するとか具体的なシチュエーションが出てくるだろうし、
そのシチュエーションに適した高速化すりゃいいだけ。
どんなシチュエーションでもindexOfを上回る
(苦労してコード書く意味があるようなレベルで)ってのはかなり難しい。
例えばbyte[]に変換ってのも検索と比較すれば十分重い処理だし。 了解しました
結局str1.indexOfでやるのがよさそうですね >>831
sleep入れても負担は増えるだけだろ
総計算量は同じでsleepを処理する計算が増える
手で処理するしかない
具体的なプログラムが提示されれば改善の余地はあるかも知れないが
時間あたりの負荷が高く他の処理の邪魔をしたくないという話ならプロセスのプライオリティを下げろ >>834
レベルと用途が不明だが
事前にindexを作っておいてそこから探すのが速い >>841
sleepを処理する計算?sleepの前処理のこと?それ以上にsleepすればいいのでは?
JavaVM内だとどうやってるのかは知らないが、sleepはVM内で指定の時間後に割り込み掛かるようにしてからスレッド停止してるだけじゃないの?
スレッド停止するならその分だけCPUタイムは食わなくなるよ。 windowsならこういうのあるよ。
Windows10 - プロセス(アプリ)の優先度を指定(変更)する方法
https://pc-karuma.net/windows-10-process-priority/ Linux だと nice とか renice とか ionice ってコマンドがある。 >>846
負担と言ったら普通そうなのでは?
それに元の質問は「実行スピードは落ちても構わないのでCPUにかかる負担を減らしたい」だから
JavaVMのOSでのプライオリティそのままでやるとしたらプログラム中の sleep ぐらいしか方法
ないと思うが? >>848>>849
時間当たりのCPU使用率は減って負荷は下がるだろ?
sleep してもそうならない環境なんかないと思うがなあ。 × 普通に考えると
○ 説明できないし実はよく考えていない >>850
なんで負荷とか自分の思い込んだ質問に置き換えてんだよ
プログラマに向いてない > 負担と言ったら普通そうなのでは?
考えてなかったのか この回答のプログラムなんですけど、
https://stackoverflow.com/questions/39530446/google-spread-sheets-appending-data-using-java
BatchUpdateSpreadsheetRequest batchRequests = new BatchUpdateSpreadsheetRequest();
と宣言時にオブジェクトを new して代入してますが、その後でまた
batchRequests = new BatchUpdateSpreadsheetRequest();
というコードが出てきます。 requests という変数でも同じことをしています。
これって何か意味があるんでしょうか、それとも無駄なことなんでしょうか? >>856
その実装がどうだかは知らないけど
コンストラクタに副作用があれば意味ある
ただし1回目の代入は無駄
副作用とは、どっかと通信するとか、ファイルに出力するとか >>857>>858
ありがとうございました。別に意味はないようですね。実際コードを削除しても動作は変わりませんでした。 もう無理だろう。sleepで負担が増えるとか書いてる時点で触れてはならない人と気づくべきだったということ。 詭弁のガイドラインから推測すると、次はbusywaitの出番だな。 負担だから命令投げた時点で発生するものということだろ
CPUタイムで課金とかいうシステムならありえる グーグルスプレッドシートのurlから、シートのIDを抽出するコートはどう書いたらいいですか?例えば、
https://docs.google.com/spreadsheets/d/1IS5WSNxSVSPYseqr0T4LJHU80paHR4vQqB8Cm4GAbiw/edit#gid=0
/d/ の後から次の / まで、 1IS5WSNxSVSPYseqr0T4LJHU80paHR4vQqB8Cm4GAbiw がIDになるのですが、
https://developers.google.com/sheets/guides/concepts
>スプレッドシート ID は、文字、数字、いくつかの特殊文字で構成される文字列です。 次の正規表現を使用すると、
>Google スプレッドシートの URL からスプレッドシート ID を抽出できます。
/spreadsheets/d/([a-zA-Z0-9-_]+)
と公式にあるんですが、具体的に java のコードで、IDを抽出するにはどうしたらいいですか? >>868
どうしても正規表現でやってみたいなら別として、そうでないなら普通に文字列切り出せばいいのでは? javaの入門サイトでググってみて自分で書いたコードがこれなんですけど、もっと簡単なやり方があれば有り難いんですが。
String url = "https://docs.google.com/spreadsheets/d/1IS5WSNxSVSPYseqr0T4LJHU80paHR4vQqB8Cm4GAbiw/edit#gid=0" ;
Pattern p = Pattern.compile("/spreadsheets/d/([a-zA-Z0-9-_]+)");
Matcher m = p.matcher(url);
m.find() ;
System.out.println("IDは : " + m.group().replace("/spreadsheets/d/", "")); >>870
正規表現使うならreplaceはいらないよ
m.group(1)でおk こんなので性器表現w
IDの前のURLが完全に固定なら次のスラッシュのインデックスまで切り出せば良いだけやん
アホなのか? >>873
0が全体の文字列で、1からが()で囲んだグループってことでいいんでしょうか?なんか難しい。 ブラウザの自動操作なら、iMacros とか、Selenium WebDriver を使えば?
Ruby のSelenium WebDriverでは、その要素に、id が付いていれば、
以下で、その要素を取得できる
element = driver.find_element(:id => "何々")
ブラウザの右クリックメニューから、要素を検査で、その要素のHTMLタグ表記を見れる 頼むから数値リテラル直接使うような糞みたいなコードをドヤ顔で貼るのやめてくれ
これだから初心者スレは嫌なんだよ >>882
COBOLのコード見たら発狂しそう
数値リテラルベタ書きよりVBとかの全パターンIF文ひたすら書くあれの方が辛いけど >>882
素敵なコードをお待ちしております
まさか批判するだけしてダンマリなんて真似しないよなぁ サンプルプログラムみたいなやつに一々反応するのもなんだかなー 1回しか出現しない数値をわざわざ定数とか面倒じゃね? 定数であることすら意識したくないのでこう書く
public int getSomeDomainValue() {
return 100;
} ここで気の利いたワンライナーを書けないのが悲しい… getIdメソッドの中に閉じ込めるべきであって
定数と言ってるやつはSIerのJava土方丸出し ああ。そうだな。id取り出すメソッドあった方がいいな。 こういうのをINT_THREEみたいに書いて定数にしたつもりのやついるよな >>870
Stringの正規表現メソッドを使う
url.replaceAll(pattern, "$1");
Matcher受け取ってfind()してgroup()してって面倒くさすぎだわな
さすがJava 昔は スタティック ボイド メイン て言ってたけど
今は スタティック ボイド メーン て言うの? 昔も今も関係なく main の日本での読みは大雑把にその二つがあるってだけのこと。 まあここは日本だし
「マインでもいいよね、だってマインスイーパーってあるだろ?」
とか言っても大丈夫。笑われるだけだから。 新宿のALTAはアルタだがキーボードのALTはオルト cocoa なんか米語ではコウコウで英語ならケウケウだしな
英語おカタカナ表記に今更突っ込んでも仕方がない 前に借りてきたDVDを再生したら最初のコピーはダメとか出す画面で「ワーニング」と上に書いてあって驚いた。 pingをピングと読むのも許す。
でもHong-Kongをホングコングと読むのは許さない。 >>905
そうそう、ALT キーの ALT は alternative の ALT だからね AltとShiftはどっちも「変わる」だがその違いは?
ちなみに俺は忘れた >>913
shiftはタイプライターのやつを見るとなんとなくわかると思うが横にずらすんた。ずらして変わるのがシフト。
altは別のものを選択するみたいなやつ。 そういえばテレビの録画でタイムシフトなんていう言葉もあるな シフト勤務
日本語でも訛りはわからない場合あるけど
英語の発音は訛りで通じないって言うからな
あと語源が同じ他の言語の発音を比較してる時がある
日本語と中国語もなんで同じ文字にのに発音違うんだよとか言われてそう オルトでもアルトでもどっちでもいいよ。紛らわしくないから。
widthをワイズと読むのは、wiseと区別できないからダメ。
byte width, byte-wise widthは日本人には難しい発音だからな
でもいくらなんでもワイズと読む奴はおらんし
byte widthってのは単語の選択から間違っとる widthを無理やりカタカナにするならウェッヅが一番近いな /d/と/θ/が合わさって破裂音風の/θ/になるからウィッツかウェッツだな
個人的にはボンバーマンがボマーマンじゃないのが許せないってここ何のスレだっけ >>928
小学生の頃はそう読んでたな
ローマ字読みしか知らなければそんなものだろ ボタンをたくさん使うアプリで、一つ一つ名前をつけると分かりやすいけど、ボタンが多くなると大変。
配列にすると簡単、でも番号だと何のボタンか分からなくなる。 大企業のシステムは何処もネーミング大変だからって理由で全部ID管理だよ
XYZ123パッケージのABC999画面のBTN01ボタンから呼ばれるORD555トランザクションスクリプトによって更新されるZYX注文TRNテーブル
みたいな感じ
いろんなところで働いたけどでかい会社ほどこうなってることが多い
結局何が何だかわからなくなってIDと日本語訳の巨大なネーミングマップをエクセルで管理し始めるんだけどね >>938
そしてそのエクセルもファイル名に日付で版管理 AT008トランザクション管理台帳(2016.2.8) こっちが最新(1).xls >>938
でもお前ら派遣にネーミングさせてもどうせ文法めちゃくちゃなデタラメ英語だしなぁ 日本のITのシステム統合が大抵の場合コケる一因だな
記憶力と忍耐力を試すゲームなんだよ >>942
ローマ字書きの日本語になってるのもあるが、ある意味そっちの方が安全な感じするな。
どうせUNICODEでUTF-8なら全部日本語にしちゃえよとも思うが、後で外国に出すことになったら面倒だからそこまではやらんのだろうな。 shainBangou
syainBangoTable
みたいなのが混在 ま、その辺はなんとかして統一させるしかなかろうね。
そういう違いを発見するプログラム作っておいて間違い探しするとか。 そういうのも正規化ってことになるかな。複数の表現を許さずに一つに絞ると。 これはお題として良さそうなのでお題スレの方にローマ字からの平仮名変換書いておいた。
難易度の低い初心者向けお題だが、よくわかってる人でも暇な人はボケ防止にやってみると良いw
https://mevius.5ch.net/test/read.cgi/tech/1514772904/351
尚、お題スレの方は言語はJavaでなくてもなんでも良い。 ローマ字命名で上手くいってる会社たくさんあるよ
英語のリテラシー低いのに無理して使ってるところのほうが悲惨 >>15
大きなお世話
>>150
独善的じゃないだろ… 雪風というコテがふざけた書き込みをして引っ掻き回す
からおかしなことになってる
>>152
言うべきことを言ったらそうしますよ
>>153 >>154
マジ最低な奴 人追いこんどいて知らんぷりしやがって
お前なんか地獄に落ちろ
>>278 >>279
子供か >>464
俺をおとしめてるバカ共にも言ってやってください
>>466
うるせえ差別主義者
>>495
何でも俺のせいにしてんじゃねーよ
>>505
こいつの場合ガチです
>>517
来ても平和だボケ
>>524
何が逝った?だこのボケ
>>579
うるせえボケ しかし、英語読めませーんの会社にいると
一人で英語ドキュメント読んでると
「そんなの信じるな」
とか怒られたりしない? >>634
暴れてなどいない ただ反論してるだけ 頭もおかしくない
おかしいのはお前の方だろ
>>637 >>638
うるせえ馬鹿 以下35歳に関するレスをしたい方は、このスレではなくプログラマー板の
該当スレでお願いします。m(__)m >>952
うちは英語力は人によってまちまちだけど
まずは公式リファレンスとかgithubのREADMEを読めと言われるなあ
もちろん日本語のブログとかqiitaも参考にするけどね >>954
散々荒らして逃げるの?
マジで法的措置を考えるわ。 ◆BrBq2CJg6HGd 典型的な構ってクンだな。早く死ねばいいのに。 Warning をワーニングと読む程度ならまだ許せるが、
Wallet をワレットと読むのは許せない。 >>961
ワレットが許せない君は wάlɪt をどう発音すんの? >>959
荒らしてない。反論しただけだろう。そんな措置取られても困る。
もうほじくり返さないで。
>>960
死ねぇ
>>964
何で俺にだけ言うの?>>955とかにも同じこと言えよ! こいつに触れるとスレが荒れるので
スルーでお願いします せっかくトリップ付けて下さってるんだからNGするのが礼儀 >>965
お前は自分が嫌われ者だって事が根本的に理解出来ていない >>967
そのためにつけてんだよ
>>968
おめーが死ねよ!
>>969
ハイハイ嫌われ者ってことでいいからもう触れないで
皆さんさっきまでの流れでお願いしまーす。 >>970
勝手な事言ってんじゃねーよ。巣に戻って二度と来るな。 >>970
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね >>972
薬学でマウント取られたから憂さ晴らしじゃね? >>971
マジ死ねや
>>972
新しいスレに禍根を持ち越したくなかったんですよ。
>>975
放送禁止用語を使うなハゲ
>>976
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
ハイもうおしまい 初めて3日目の初心者です
スッキリ分かるjava入門を読みながらやってるんですがパッケージのとこでつまずいてます
osはwin10
フォルダをこうやって分けると5,6行目でパッケージが見つからないとコンパイルエラーが起こります
どこが違うのでしょうか
エディタはatomです
https://i.imgur.com/MzTwXWf.png >>982
calcapp.logicにクラスパス通せ ダメ、ドットはカレントディレクトリを表すOSもあるから >>985
ファイル名中の1文字が意味を持つOSあるの?
.bashrcとかダメなのか
OSでなくファイルシステムの話じゃ
単にJavaでパッケージ名に.使えないだけじゃ MS-DOSは8.3固定だったな。ドットは一つしか許さずドットの後は拡張子として3文字までしか許さなかった。
まあ今さら昔のFAT形式のファイルシステムを使うことはまずないだろうからどうでも良いことだが。 Swingを使って
実行イベント、実行イベントの一時停止イベント
を実装したいのですが、
実行イベントにはRunnableを実装し
一時停止イベントでは、Runnableのインスタンスのwaitメソッドを実行するようにしたのですが、
Quieなんとかエラーとなってしまいました。
通常実行とその停止はどのように実装すればいいのでしょうか。 javaの命令自体がjavaの内部ファイルに記述されていて
そっちのファイル参照しろって話しが出て来ることあるけど
そのファイルどうやって探してどういう風に読み取って利用すればいいの? Swing ブレークポイントを設定
Swing Explorer と FEST-Swing 導入
駄目なら、環境を変えて Visual Studio でブレークポイントを設定
エラー内容みるんだな。
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 71日 13時間 5分 46秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。