• ベストアンサー

javaのコードについて

今、javaの勉強をしています。 サンプルコードに、 String name=name1.substring(name1.length()) String job=job1.substring(0, job1.length() - 1); という2つのコードがあったのですが、いまいちコードの意味というか何を表しているのかよく分かりません。 どなたか教えてください。 よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

そういう時は、展開してみるといいです。 name1.length()つまり、name1の長さに展開される。 しかし、 https://java-code.jp/795 プロトはこうなっている。 public String substring(int begin [,int end]); String name=name1.substring(name1.length()) とすれば、これは、最後の位置を返すので、常に空っぽではないかな? nullではなく、""という何も入っていない文字列を指すと思われる。 String job=job1.substring(0, job1.length() - 1); これは、それの逆、最後の1文字を「引いたもの」 "abc"なら、"ab" ってこと。 各関数は、ネストの一番深いところから実行されている (これすごい大事) ってことを、忘れないようにすれば、ほぼそれだけで、 解決だとは思います。 なお、substringはやたら使う関数なので、 覚えて損はないですよ!

関連するQ&A

  • java.lang.StringIndexOutOfBoundsException・・・?

    JAVAで作成したプログラムを実行すると 「java.lang.StringIndexOutOfBoundsException: String index out of range: 3 at java.lang.String.substring(String.java:1500)」 とエラーが表示されます。 この意味ってなんなのでしょうか?

  • JAVA 文字コード変換

    こんにちは。 JAVAの文字コード変換のところで教えて頂きたい所があります。 はしご高(髙)  の文字をUTF-8からJISコードに変換してテキストファイルに書き込んでいるのですが、文字化けして"?"という文字になっています。 "髙"の文字をUTF-8からJISコードに変換の仕方のコーディング方法を教えて頂けないでしょうか。 現在下記の様に変換を行って書き込んでいます。  String str = "髙";  byte[] buf = str.substring(0, 1).getBytes("JIS0208"); OS:WindowsXP DB:Oracle10g  宜しくお願い致しますm(__)m

    • ベストアンサー
    • Java
  • PHPからJavaを呼ぶと2バイト文字が文字化けします

    Linux+PHP4 にてJava 1.4.2のライブラリーを呼ぶと 2バイト文字が ?? となって処理されてしまいます <例> <?php $J_String = new Java('java.lang.String',"aたbcdefg"); print $J_String->length()."<br>" ; print $J_String->substring(0,4)."<br>" ; ?> を実行すると下記が返ってきます 9<br>a??b<br> #『た』の部分が『??』となります 対応方法をご存知でしたら教えて下さい //

    • 締切済み
    • PHP
  • VisualBasic2008の非ユーザーコードについて教えてください。

    現在、VisualBasic2008を勉強中の初心者です。 Substringを使って特定の文字列を抽出するプログラムを作成しました。 デバッグすると、イミディエイトウィンドウに以下のように表示されます。 「ステップイン:非ユーザーコード'string.Substring'をステップオーバーしています」 プログラム自体は問題なく動いているのですが、このメッセージが気になります。どなたかこのメッセージの意味をご存知の方教えていただけないでしょうか。

  • Javaについて教えてください。

    Javaのソースコードで以下のコードを実行すると表示されないのですがなぜでしょうか? public class Sample{ public static void main(String[] args){ for (int i = 0 ; i >= 5; i++){ System.out.println(i); } } }

  • javaの文字コードについて

    いつもお世話になっております。 webで入れられた文字列に全角が含まれるか判定したいのですが、 文字コードについて質問させてください。 javaは標準では、String型は標準ではunicodeだと思うのですが、 これはutf-8なのでしょうか。utf-16なのでしょうか。 試しに以下のように"A"の文字をbyteに変換してみたところ、 String strTest = "A"; byte[] bbb = strTest.getBytes(); for(int i = 0 ; i < bbb.length ; i++){ System.out.println(bbb[i]); } "65"という結果が返ってきました。 http://ash.jp/code/unitbl1.htm 等文字コード表を見ると、"A"は"41"と定義されており、なぜ"65"が返ってくるのでしょうか。 変な質問ですいません。 関係無いと思いますが、ソースはS-JIS、windwos環境で実行しています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaについて教えてください!

    sampleパッケージに属するMain.javaとSub.javaがあり、Main.javaのmainはSub.javaのsubメソッドを呼び出して「OK」と表示させるプログラムを教えてください! //Main.java package sample; public class Main{ public static void main(String[] args){ Sub.sub(); }} //Sub.java package sample; public class Sub{ static String str = "OK"; public static void sub(){ System.out.println(str); }} String型の変数strはクラス変数で行いたいのですが、どこを改善すれば良いでしょうか?

    • ベストアンサー
    • Java
  • Javaのsubstringのendパラメータについて

    Javaでは、endパラメータが何故+1なのでしょうか? String a = "ABCDEFG"; System.out.println(a.substring(0,0+1)); // A System.out.println(a.substring(1,2+1)); // BC System.out.println(a.substring(3,5+1)); // DEF perlなどでは、以下のようだった気がしますが・・・ substring(a, 0, 0); substring(a, 1, 2); substring(a, 3, 5); 理由をご存知の方教えてください。 こういうのはJavaではよくあることででしょうか?

    • ベストアンサー
    • Java
  • Javaの判定処理について

    いつもお世話になっております。 以下のJavaのコードで、 ☆の部分のif文が何を実施しているのか 分からないのですが、 ご存知の方がいられましたら ご教授をいただけますでしょうか。 【コード】 String value = "あいうえお12345"; int length = value.length(); for (int i = 0; i < length; i++) { char c = value.charAt(i); if ((c & ~0x7f) != 0) { ←☆ 処理1 } }

    • ベストアンサー
    • Java
  • Javaで日本語の出力が文字化けする

    Javaプログラミング初心者です。 開発環境でNetBeans IDE 7.2.1を使用してプログラミングの勉強をしているのですが、 日本語の入力・表示を行った場合、必ず文字化けしてしまいます。 サンプルコードは下記の通りです。 ================================ public class Main{ public static void main (String[]args){ System.out.println ("名前を入力してください"); String name = new java.util.Scanner ( System.in).nextLine(); System.out.println ("名前は" + name + "です"); } } ================================ 上記コードで、変数nameに日本語を入力すると、文字化けしてしまいます。 コマンドプロンプトや、web上のJava開発環境(どこJava http://dokojava.jp/pc/index.html)では、 同じソースで正常に日本語表示されるので、NetBeanの設定では無いかと思っております。 自力では解決方法が見つからなかったので、ぜひアドバイスをいただければと思います。 よろしくお願いします

    • ベストアンサー
    • Java

専門家に質問してみよう