API見てたら、まさかのScannerクラスの区切り文字が変更できるなんてね:
Scanner sc = new Scanner(System.in).useDelimiter(","); //区切り文字を","に変更したsc宣言
さっきのさっきまでこんなことしてたよ・・・:
Scanner sc = new Scanner(System.in);
String t = sc.nextLine();
String[] temp = t.sprit(",");
ここからもし、整数を取り出したかったら・・・
int[] a = new int[temp.length];
for(int i=0; i<a.length; i++) a[i] = Integer.parseInt(temp[i]);
ちくしょうwwwwなんだよそれ…!
まあおかげで文字列の分割とかの勉強にはなったのでよしとしますけどね!
2012年9月28日金曜日
ちょっとした疑問
Eclipseでjavaのコードをかいているんですけれども、
import java.util.*; での
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){ brabrabra......;}
としたときに、hasNext()は何を見てるんですかねえ…。
Eclipseでの実行画面では、どれだけ入力してもプログラムが終わらない...
ついでに
while(sc.hasNextLine()) も然りです.
そこでひとつ突破口をみつけて、
while(sc.hasNextLine()){
String t = sc.nextLine();
if(t.equals("")) break;
}
としてやると、改行を一回してやることを終了宣言にできるから、まあなんとかなるんですが。
.hasNext()のときがうまくいかない。
もう少し調べてみます。
~追記
なるほど、やきすぱから教えてもらいました。
Ctrl + Zで脱出できるんですね・・・!
import java.util.*; での
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){ brabrabra......;}
としたときに、hasNext()は何を見てるんですかねえ…。
Eclipseでの実行画面では、どれだけ入力してもプログラムが終わらない...
ついでに
while(sc.hasNextLine()) も然りです.
そこでひとつ突破口をみつけて、
while(sc.hasNextLine()){
String t = sc.nextLine();
if(t.equals("")) break;
}
としてやると、改行を一回してやることを終了宣言にできるから、まあなんとかなるんですが。
.hasNext()のときがうまくいかない。
もう少し調べてみます。
~追記
なるほど、やきすぱから教えてもらいました。
Ctrl + Zで脱出できるんですね・・・!
登録:
投稿 (Atom)