文字列のメソッド

メソッド名 機能
String concat(String str) 指定した文字列strをこの文字列の最後に連結する。
int indexOf(String str) この文字列内で、指定された文字strが最初に出現する位置のインデックスを返す。
int compareTo(String str) この文字列と指定された文字列strを辞書的に比較する。この文字列が辞書的に指定文字列strより前にある場合は、負の整数を返す。この文字列が辞書的に指定文字列strの後ろにある場合、正の整数を返す。それらの文字列が等しい場合、ゼロを返す。

文字列の連結

concatメソッドで2つの文字列を連結することができます。 次のプログラムでは、入力した2つの文字列の連結とコピーを行っています。

Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String str2 = sc.next();
String str3;
System.out.println(str1 + "(" + str1.length() + ")");  // 文字列の長さを出力する
System.out.println(str2 + "(" + str2.length() + ")");  // 文字列の長さを出力する
str1.concat(str2);  // 文字列 str1 に文字列 str2 を連結する
System.out.println(str1);
str3 = str1;  // 文字列 str3 に文字列 str1 をコピーする

if ( str1.compareTo(str3) == 0 ){    // 文字列 str1 と文字列 str3 を比較する
    System.out.println(str1 + " = " + str3);
}
標準入力標準出力
ACM ICPC ACM (3)
ICPC (4)
ACMICPC
ACMICPC = ACMICPC

文字列の検索

次のプログラムでは、indexOf メソッドを用いて文字列 str1 の中に文字列 str2 が含まれるかを判定しています。

Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String str2 = sc.next();
if ( str1.indexOf(str2) == -1 ) System.out.println("No");
else System.out.println("Yes");
標準入力標準出力
aizuzia
zuz
Yes
aizuzia
zuk
No

Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。