
No.4ベストアンサー
- 回答日時:
No.3さんの補足に対する回答です.
for(String str:strs)はJDK5.0から追加された機能で,拡張for文です.
参考サイト
http://www.javainthebox.net/laboratory/J2SE1.5/L …
http://www.techscore.com/tech/J2SE/JavaLanguage/ …
Javaのバージョンは何ですか.Windowsの環境でしたら,コマンドプロンプトからjava -versionで確認できるかと思います.
参考サイト
http://www.famlog.jp/article.php?id=286
java versionが1.5以下ならば,JDKをアップデートしないとNo.3さんのサンプルコードは実行できません.
それ以外の方法では,拡張for文は糖衣構文ですので,該当箇所を以下の用に変更すると実行できると思います.
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
No.3
- 回答日時:
分割は簡単です。
String.splitを使用すればOK。引き算はコード書くしかないかな。サンプルコード示しましょう。ご参考にどうぞ。
public class testString {
/**
* @param args
*/
public static void main(String[] args) {
StringmStr="花子and太郎";
String[] strs=stringSprit(mStr);
for(String str:strs){
System.out.println(str);
}
System.out.println("#1#"+stringDec(mStr,"花子"));
System.out.println("#2#"+stringDec(mStr,"子a"));
System.out.println("#3#"+stringDec(mStr,"太郎"));
System.out.println("#4#"+stringDec(mStr,"あいう"));
System.out.println("#5#"+stringDec(mStr,mStr));
}
/**文字列を分割
*
* @param argString
* 分割したい文字列
* @return
* 一文字単位に分割した結果
*/
public staticString[]stringSprit(String argString){
returnargString.split("");
}
/**
* 文字列を引き算
*
* @param argString
* 引き算されるほうの文字列
* @param decString
* 引き算するほうの文字列
* @return
* 引数1から(最初の)引数2を取り除いた文字列
* ただし、引数1に引数2が含まれなかった場合には、引数1そのまま
*/
public staticStringstringDec(String argString,String decString){
intlenA=argString.length();
intlenD=decString.length();
intsPos=argString.indexOf(decString);
intePos=sPos+lenD;
if(sPos<0){
returnargString;
}
StringBufferbuf=newStringBuffer();
if(sPos>0){
buf.append(argString.substring(0,sPos));
}
if(ePos<lenA){
buf.append(argString.substring(ePos));
}
returnbuf.toString();
}
}
この回答への補足
osu_neko09さん、回答有り難う御座います。
for(String str:strs){のところでエラーがでるのですが、、、、、
for(String str;strs){でもはしらないし、
for(String str.strs){でもはしらないんですが、
宜しくお願いします。
コードの意味は理解出来るのですが。
No.2
- 回答日時:
引き算は、出来ないと思いますが。
切り取ることは、出来る様な
例えば、以下のように
String namae ="太郎一郎花子";
System.out.println(namae.substring(0, 2));
System.out.println(namae.substring(2, 4));
System.out.println(namae.substring(4, 6));
実行結果
太郎
一郎
花子
No.1
- 回答日時:
int(数値)の場合も、単純な引き算のような式ではインデックスの一部の取得はできません。
たとえば
int i = 10
という数値型変数「i」があるとして、これに「10」という数値が入っているとします。
これを-1したら変数「i」は「9(単純に10-1)」になります。
文字列の一部を取得する際は「substring」してやる必要があります。
始点・終点の指定が必要になりますので、substringのパラメータに文字列検索結果と文字列の長さを渡してやればいいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EclipseでJava
-
JSPやサーブレットでSystem.out...
-
JavaでMIDIを使って音を出したい
-
Javaの型変換について初心者向...
-
C言語のポインターに関する警告
-
プログラミングの問題です。大...
-
javaのプログラミングで作るRPG...
-
コンテンツダウンロード時のプ...
-
eclipseに記述したjavaファイル...
-
jspでの二次元配列
-
配列数を超えてアクセスしたと...
-
オブジェクトの中のプロパティ...
-
System.out.printlnの出力先
-
IF関数でEmpty値を設定する方法。
-
System.exit()の値を取得したい
-
ページング
-
配列にnullを代入すると、null...
-
変数を動的に作るには?
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
EclipseでJava
-
[JAVA]try 内の変数を外で!?
-
「続行するには何かキーを押し...
-
文字列の引き算
-
JAVA 文字色変更
-
改行の判定方法
-
エクセルマクロ文で、赤文字セ...
-
Javaのコマンドライン引数を使...
-
全角スペースの判定について
-
JAVAのエラーの意味が分かりま...
-
Javaでカレントディレクトリを...
-
javaで判別式のプログラミング...
-
【Java】再帰的なプログラムで...
-
JAVAのDouble型の小数点以下の...
-
複数行キーボード入力した後に...
-
曜日の取得方法を教えて下さい!
-
文字列の置換について。
-
vb6 オブジェクトライブラリは...
おすすめ情報