お世話になっております。
教本を見ながら、
-(ハイフン)でコマンドライン引数で受け取った文字列を区切り、
1つずつ表示させるプログラムを書いています。
(※アルゴリズムの考え方の勉強のため、splitや正規表現の使用は意図的に避けています。)
一応仕様通りに動くものはできたのですが、後学のため
他のやり方も知りたいと思い、質問させていただきました。
そこで思ったのが、変数のindexを1つだけにすることは
できるのでしょうか?(=indexかindex2をなくす)
(「変数の数はなるべく少ない方が良い」と書籍で以前読んだので...)
他のやり方でも構いませんので、アドバイスを頂けると幸いです。
Java
1 2package nosplit; 3 4public class NoSplit { 5 6 public static void main(String[] args) { 7 8 int index = 0; 9 10 int index2 = 0; 11 12 String word = args[0]; 13 14 while (true) { 15 16 index2 = word.indexOf("-", index); 17 18 if(!(-1 == index2)){ 19 20 System.out.println(word.substring(index,index2)); 21 22 index = index2 + 1; 23 24 } else { 25 26 index = word.lastIndexOf("-"); 27 28 System.out.println(word.substring(index + 1)); 29 30 break; 31 } 32 33 } 34 } 35}
このコードで仕様通りに動くとは思えません。そもそもbeginIndexはどこ?