JAVAってこんなことも出来ないの?

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/05/19(土) 22:13:03
mainメソッドから値を返す。
2008/08/30(土) 09:54:09
>>145
   タノシイヨ
  ∧ ∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
2008/09/01(月) 22:05:50
> 98は、NetBeans使ってればよかっただけって話か。
Eclipseが悪いな。
2008/09/02(火) 14:13:26
つーか、EclipseってJava使うのに向いてないだろ。クソつかえねぇ。
そもそもJavaの特徴ってのは使いやすい使いにくいじゃねぇんだから
ごちゃごちゃ文句言うんじゃねぇよ!俺みたいに学生時代に勉強しとくのがベスト。
151デフォルトの名無しさん
垢版 |
2008/09/02(火) 16:56:44
>>150
Javaの特徴は重いことだ。
2008/09/03(水) 00:00:40
>>150
ベストの勉強しても全角厨しか生まれないんだな。
さすが、Java (w
2008/09/03(水) 14:23:06
Cではprintf();ですむ作業をわざわざSystem.out.println();って書かなきゃいけないのに驚いた
scanf関数に相当するものがないのにはさらに驚いた
2008/09/03(水) 14:44:45
import static System.out;
することで、out.printlnに減らすことはできるけど、長いね。

scanfの代わりはjava.util.Scannerということだけど、使い方全然違うしね。
正規表現でこんなことはできるけど、面倒だね。びっくりだね。
Matcher m = Pattern.compile("(\\d+)を入力して(.+)に").matcher("500を入力してほげほげに");
m.matches();
System.out.println(m.group(1));
System.out.println(m.group(2));
2008/09/03(水) 14:57:00
Cのscanfは使っちゃだめ系の関数だし、なくてもいいんじゃね
2008/09/03(水) 15:22:30
>>154
ありがとうございます
なんか面倒ですね…

>>155
scanfって使わない方がいいんですか?
学校のプログラミングの授業ではバリバリ使われています;´・ω・`)
2008/09/03(水) 15:39:07
ヒント: セキュリティーホール


オプソなんかではscanf調査ツールがあったり、
つかっちゃいけない関数は、
DONOTUSE_なんたらかんたら、という文字列に#defineされてたような。
2008/09/03(水) 16:57:35
>>156
まあ、System.out.printlnはEclipseならsysoutでctrl+space、NetBeansならsoutでtabとすれば入力できるから、入力がめんどうというのはあんまりあてはまらないね。
2008/09/03(水) 22:20:00
>>156
学生さんならいいと思うよ。

でも、商用プログムだと入力は最も気を使うところ。

>>157 の言うようにセキュリティホールの危険もあるし、
変な入力された時に適切なエラーメッセージを出すことも
容易でないから基本的に使わない。
160デフォルトの名無しさん
垢版 |
2008/09/03(水) 22:30:51
最近のJavaはかなりCと同じ関数が増えてるよ
2008/09/03(水) 23:00:33
import java.io.*;

public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("数字を入力してください");
String str = br.readLine();
int num = Integer.parseInt(str);

面倒臭い
2008/09/04(木) 01:24:38
やろうと思えばJavaでできるけど、
そういうのはLLにまかせとけばいいと思うんだ
2008/09/04(木) 07:56:01
いっそ、こっちの方が楽だったりな。クロージャーが導入されてくれれば、もっとスッキリするのに。
あとはsetDefaultCloseOperationがどうにかならないんかな。
ウィンドウ出すマルチプラットフォームアプリ作るときはJavaが楽。

public static void main(String[] a){
JFrame f = new JFrame("数値入力");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridLayout(2, 1));
f.add(new JLabel("数字を入力してください"));
final JTextField t = new JTextField();
t.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = Integer.parseInt(t.getText());
System.out.println(i);
t.setText("");
}
});
f.add(t);
f.pack();
f.setVisible(true);
}
164デフォルトの名無しさん
垢版 |
2008/09/04(木) 08:18:06
今はJavaにもprintf()があるんだが・・・・
ポインタがない分どれだけラクだと思ってんだ
165デフォルトの名無しさん
垢版 |
2008/09/04(木) 08:45:16
Cみたいな特種用途向けの言語相手に何威張ってるんだ
2008/09/04(木) 11:50:15
printfがないとかいう話にはなってないでしょ。
167デフォルトの名無しさん
垢版 |
2008/09/04(木) 14:52:56
既出かもしれんが、自分でクラスライブラリ作っていて、
abstract static a();
みたいな抽象スタティックメソッドが作れなくて困った。
これはJavaの仕様でたまたまそうなのか、抽象スタティックメソッド
というオレ考えが論理的におかしいのかわからん。
2008/09/04(木) 16:05:59
おまえがおかしいに決まってんだろ。javerはバカだね
2008/09/04(木) 21:09:51
そもそも >>167 が何をしたいのからわからん。
2008/09/05(金) 01:09:11
ファクトリメソッドパターン?
2008/09/05(金) 08:38:30
関数ポインタが欲しかったんじゃね?
2008/09/05(金) 10:32:35
>>167
利用法が思いつかない…
2008/09/05(金) 16:10:48
みんな許してやれ
2008/09/05(金) 17:46:47
>>167
マジレスすると、ここはJavaの質問スレではないから
真面目な答えはここじゃ返ってこないぞ。
2008/09/05(金) 23:28:06
おれもクラスライブラリつくっちゃおうかな
2008/09/06(土) 17:43:18
>>174
> 真面目な答えはここじゃ返ってこないぞ。

>>168 は充分真面目な答えだと思うが。
2008/09/06(土) 18:36:20
>>174
167は質問してないね
178167
垢版 |
2008/09/08(月) 10:23:08
えー、別に質問したかったわけじゃなくて。
”こんなこともできねーの”という主旨にそって書き込ませてもらいました。
それで、用途はですね。
たとえば、たとえばDB上の様々なテーブルを表す、クラスA,B,C・・・とたくさんあって、DB上での取り扱いを処々定めた抽象クラスを実装しているわけです。
で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが、それは抽象クラスからは、abstractな抽象メソッドがないためだめだったというわけです。
もちろん、テーブルの生成、削除をstaticメソッドにしなければいいだけのことなのですが、なんとなくあるクラスというかBeanのテーブルの生成、削除等はstaticメソッドにする方がすっきりしているように思えたわけです。
2008/09/08(月) 12:17:11
まだ理解できないのか。javerはバカだね
2008/09/08(月) 12:20:02
>>178
C++でも出来ないけどねこれ。
寧ろそういうやり方出来る言語ってなんだろう
181デフォルトの名無しさん
垢版 |
2008/09/08(月) 12:21:14
デザインパターンを勉強した方がいいよね
2008/09/08(月) 12:24:56
>>178
> で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが
ここがそもそもの発端なわけですね
2008/09/08(月) 12:39:15
static にしてもすっきりしないと思う。
どういうのが”すっきり”かも人それぞれだけどなw
184167
垢版 |
2008/09/08(月) 15:39:37
abstractクラス.staticメソッドとやれば
それぞれを実装しているサブクラスのstaticメソッドが実行されるって
ことができれば便利だとおもうんだけどなあ・・・
2008/09/08(月) 16:00:59
>>184
それ明示的にクラス名書いて呼ぶの?動的じゃなくて?
2008/09/08(月) 16:10:52
簡単に数値に変換できるかどうか判定したいんですが・・・
2008/09/08(月) 16:15:31
>>186
javaの質問スレって認識したうえでのろうぜきかや
IntegerとかLongとかDoubleとかBigDecimalとかつかってparseできるか試すのがいいんでね?
2008/09/08(月) 16:23:12
abstractクラス.staticメソッド
こんなんでどうやってどのサブクラスのstaticメソッド呼ぶか確定できるんだよ。javerってこんなことも理解できないの?
2008/09/08(月) 16:33:33
>>187
いや、質問ではなくて そういう機能くらいデフォルトであればいいかな?的な 発言
Parseで失敗したらとかやってるとExceptionとかでしか判断できないからスマートではないのかな?
とか思ったりしたんで。

紛らわしくてごめん
190167
垢版 |
2008/09/08(月) 16:36:41
>>185
すみません書き方が悪かったす。
オレがイメージしていたのは、
abstractクラスのAで、
abstract static void createTable();
となっていて
Aを実装するクラスBのインスタンスbで
b.createTable()とやれば
クラスBで実装したstaticメソッドcreateTable()が呼ばれるといいなと。
しかしまあ、Bのインスタンスをつかわなければならん時点で、
abstract static voidが可能だとしてもあまりスマートな結果は得られませんね。
皆様失礼しました。

2008/09/08(月) 16:37:36
たぶんこんな使い方をしたいんだろうと予想

abstract class Foo {
public static abstract void method();
}
class Bar extends Foo {
public static void method(){ ... }
}

Class<? extends Foo> absclass = Bar.class;
absclass.method();
2008/09/09(火) 00:14:56
普通に使えそうじゃん
193デフォルトの名無しさん
垢版 |
2008/11/11(火) 10:49:33
Javaは
public void delete(List<クラスA> _list) throws ModelException;

public void delete(List<クラスB> _list) throws ModelException;
が同じシグニチャだと思ってるようだな。
困るなあ。
しょせんジェネリックなんて付け焼き刃ってことか。
194デフォルトの名無しさん
垢版 |
2008/11/11(火) 10:54:41
ええはい
言語上の型安全性の保障だけでマシン的には何も変わっていませんので・・・
2008/11/11(火) 13:36:39
while (1)が使えないとかうぜー
しかもwhile ((boolean)1)もダメとか
俺は1が使いたいんだよおおおおおお
2008/11/11(火) 17:00:55
>>195
全角でどうかな?
boolean 1 = true
2008/11/11(火) 18:45:55
>>195
Cとかjavaとかが1/2が0になるのウゼ
どう考えても0.5だろwwwwバカじゃないの?
みたいな
2008/11/11(火) 23:10:57
>>195
for(;;)
2008/11/17(月) 11:21:16
>>195
trueかfalseを書けって仕様なんだから仕方がない。
200デフォルトの名無しさん
垢版 |
2008/11/27(木) 03:04:52
JAVAって多少間違ってても動いちゃうよな。
2008/11/27(木) 07:22:36
多少間違いがあるとコンパイル通らないがな。

もしかしてDIを意識して動いちゃうとか言ってる?
2008/11/30(日) 00:05:19
どんな言語だって仕様どおりに組んでなくたって動くことは動く
2008/12/04(木) 18:31:55
途中で return false; って中断したいのが出来ない。
デバッグ中によくやらないか?
204デフォルトの名無しさん
垢版 |
2008/12/05(金) 00:42:05
それって警告レベル帰るとなんとかならない?
205デフォルトの名無しさん
垢版 |
2008/12/05(金) 01:47:54
VB.NETで言うDirectCastを実装して欲しかった(^_^;)
2008/12/05(金) 02:51:43
if(true) return false;
2008/12/05(金) 15:03:55
>>195
while((1))とかやるとどうなるの
2008/12/05(金) 16:14:08
コンパイルエラー:互換性のない型
2008/12/15(月) 02:54:46
>>205
2008/12/19(金) 07:48:10
#define
2008/12/20(土) 12:48:46
#define とかは C とかの必要悪でしかないと思ってるぜ。
VM上で #define が必要になるとか設計がうまく出来てないか要件をうまくまとめれてないかじゃねぇ?
2008/12/20(土) 14:25:13
1.4とそれ以降のコードを混在させて書こうとしたときとか、
プリプロセッサ使わないでどうやって書いてるの?
2008/12/20(土) 18:52:40
#define たたけば偉くなったと思う勘違い君なんだから、
スルーしてくれないかな。
2008/12/20(土) 18:53:01
>>211
cppにjavaソースぶち込める環境なら#defineとかcpp言語つかえるぞ
2008/12/20(土) 19:10:45
>>212
混在させない。
2008/12/20(土) 20:26:36
>>215
ふーむ、やっぱダメなのか
ターゲットプラットフォームによって使えるコード、使えないコードがあるから
プリプロセッサで条件コンパイルみたいなことできないかと思ってるんだけど
javaだとプラットフォームごとにソースを用意して管理してるのかな?
eclipseでそういうplug-inとかないんかなぁ
2008/12/20(土) 21:19:05
APIラップしていわゆるAdapterパターンって奴にするんじゃね?
うちは某フレームワークを利用するとき、直接利用しないで
一枚かぶせて使っていたぜ。どんだけ意味あるかわからんけどな!
2008/12/21(日) 03:31:50
>>216
拡張forやオートボクシングなら、わざわざ切り替えるまでもないし、Genericsもコメントで書いておけばいい。
ライブラリに関しては後方互換があるから、古い書き方を使うほうがいい。
2009/01/23(金) 21:30:11
デバイスドライバを書く。
2009/01/23(金) 23:29:58
>>216
駄目って言うか解決に向かう思考法が全然違う。
どちらかというとプラットフォームに依存しないインタフェイスを作成し、
それぞれに対してそれぞれのプラットフォーム向けに実装する。

Interface
├ImplForA
└ImplForB

そんで、起動時に自分が実行されているプラットフォームを
判断して利用する実装を差し替えるのがJava流だと思う。

プラットフォームごとにバイナリ分けてビルドするのは手間だしね。
2009/02/01(日) 19:46:24
>>220
プラットフォーム依存部分を別JARにまとめた方が良いような。
2009/02/02(月) 21:20:26
>>221
そこは別jarにまとめるってのは確かにそのとおりだと思う。
1つのプロジェクト内で複数のプラットフォームの実装を作ってもテスト同時に流せないしね。
どちらにせよ↓みたいな構成になるんじゃないかなぁ。

Interface.jar
├ImplForWin.jar
├ImplForMac.jar
└ImplForLinux.jar
2009/02/15(日) 02:28:42
octave,r,rubyから来た俺の驚きは、
標準ライブラリの貧弱さ。
ていうか初心者だから未だ俺が分かってないだけかもしれないけど、
配列のboxcarとか、それどころか相加平均さえ無いって嘘だよね?
2009/02/15(日) 03:11:21
その手のことに関しては、ライブラリもないが言語構文も悲惨なのがJavaだ。
そんなことに驚いているようではJavaなんて使っていられない。
2009/02/15(日) 05:20:38
>>223
自分がどれだけ標準から離れているのか判っていない。
それで標準ライブラリを笑うのだから片腹痛いわ。
2009/02/15(日) 06:39:49
>>223
Rubyで標準ライブラリでウィンドウ表示してみろ。
マルチスレッド系もJavaは強い。
というか、Javaの「標準」ライブラリはすごいぞ。「標準」でMP3も3Dも扱える。
行列演算はJava3Dに含まれてるしな。
統計処理がやりたければ「Java Data Mining」という仕様もある。サポートベクターマシンにも対応してる。

あと、Rubyはわかるが、数学用環境であるRやOctaveと比べるのは間違ってる。
2009/02/15(日) 10:13:33
javaの標準ライブラリってjava.*とjavax.*全部だっけ?
228223
垢版 |
2009/02/15(日) 10:40:22
皆ありがとう。やっぱないのか。
笑った訳ではなく、驚いただけなのよ。
言語によって向き不向きがあるってだけのことなんだろうけど。
>>226 Java Data Mining
調べてみます。
2009/02/15(日) 12:17:36
何をそんな当たり前のことで驚いているのか
こっちが驚くわ
2009/02/15(日) 13:31:45
>>228
Java Data Miningは実装が有料のものしかないので、困り者
2009/02/15(日) 22:32:48
むしろそういう特定用途にしか使わないような標準は多量に含めてほしくないな。
そういうのは最小にして、仕様の標準化と参照実装を用意してくれるだけでいい。

しかし String や Date や List の仕様の貧弱さについてはもう少し何とかして欲しい。
2009/02/16(月) 22:25:34
仕様の貧弱さってなんだろう
機能が足りないってのなら拡張すれば良いわけだから、
言語仕様的になんか欠陥があるってこと?
2009/02/17(火) 00:18:29
>>232
StringやDateやListは拡張できんだろ。
2009/02/21(土) 07:14:00
例えばどんな機能が足りてないんだ?
C++ の string みたいに無駄に関数が増えるのは気持ち悪くてやだ。

Date には期待しない。Joda Time 使う。
235デフォルトの名無しさん
垢版 |
2009/03/19(木) 08:22:13
>>148
オヤスミ…
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
2009/03/20(金) 02:25:20
>>233
なんで拡張できないのん?教えて偉い人
2009/03/20(金) 02:34:01
>>236
finalだから
2009/03/20(金) 02:35:54
>>236
Javaではクラスやオブジェクトにあとからメソッドやフィールドを追加できないから。
2009/03/20(金) 18:29:56
>>238
そんな機能必要ないだろ。何されるか分からん。

拡張できない理由は >>237
2009/03/21(土) 08:40:24
なぜ、できない理由として書いてあるのに、「そんな機能必要ない」という反応になるのか。
241デフォルトの名無しさん
垢版 |
2009/04/04(土) 18:15:13
>>101
     幽体離脱
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
2009/04/05(日) 04:37:56
USB API を早く実用レベルにしろ。
2009/04/05(日) 13:09:20
USB API(for Windows)初めて知った
そしてドキュメントにJNIコード大量でわらた
これってwindowsのカーネルモードとお話できたり,スキャンデータを改変したりできるのかな
無理だろうな
2009/04/06(月) 00:39:53
>>231,233,236
憶測で言うとString型はオブジェクトだけど
プリミティブ的な側面があったりimmutableだったりするので、
たぶんその辺をいじってほしくなかったんじゃないかと思う。

まあ継承継承言うよりCompositeぐらいつかおうや。
2009/04/07(火) 01:51:48
>>243
HD みたいなカーネル絡みはどうでも良いんだけど、特定業界用のデバイスや計測機器、
あと携帯や GPS なんかで気軽に遊べるとうれしいんだよね。以前 Garmin 用に JNI
組んだけど、かったるい上にプラットフォーム固定というのがひどく無駄な作業に思えた。
2009/04/07(火) 07:46:02
そうかなあ
247デフォルトの名無しさん
垢版 |
2009/04/13(月) 20:43:48
>>241
   ?
  ∧∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
248デフォルトの名無しさん
垢版 |
2009/04/14(火) 16:37:41
>>244
Rubyのmix-inのイメージなのかなと、思ったりも
特定クラスのイテレータの実装って、そう変わらん気がする・・・

>>231
はたぶんjava6の仕様見たことがなんだろうね
#collection の仕様 見た?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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