• 締切済み

Androidプログラミング 文字列の切り取り

こんにちは。 eclipseを使用してAndroidアプリを作成しているものです。 今回、文字列の切り取りに挑戦しようと思っているのですが、 調べても、 String str = "123456789"; System.out.println(String.format("取り出し前の文字列 : %s", str)); System.out.println("文字列の3文字目から7文字目を取り出す -> " + str.substring(2,7)); System.out.println("文字列の2文字目から2文字目を取り出す -> " + str.substring(1,2)); System.out.println("文字列の3文字目から3文字分を取り出す -> " + str.substring(2,2+3)); といったものしか出てきません。 eclipseではSystem.out.printは使えませんよね? 実行してももちろんなにも表示されません。 私の調べ方が悪いのかもしれませんが、、、 (「Android 文字列 切り取り」といったようにAndroidというワードは入れています。) 如何せん、プログラミング初心者なこともありまして、 これ以上手の施し方がわからない状態です。 Androidプログラミングに詳しい方、優しい方、 参考になるURLやサンプルコードを載せてくださると 助かります。 よろしくお願いいたします。

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

みんなの回答

noname#247307
noname#247307
回答No.2

>Labelとは。xmlファイルに表示するものですよね? >mainファイルに書く方法はありますか? ああ、すいません。AndroidだとTextViewでしたね。普段、テキスト表示=ラベルという開発ばかりしてたのでうっかり書いてしまいました。 テキストの表示は、できていますね? TextViewを配置するなどしてです。 そして、そこに表示するテキストを変更することもできていますか? findViewByIdでTextViewを取得し、setTextでテキストを変更する、といったことです。 また、setTextやsubstringといったJavaのメソッドの使い方(わかりやすくいえば、Javaの基本文法)も理解されていますか? これらができていれば、setTextする際に、設定するテキストにsubstringで取り出したテキストをそのまま表示させる、というのは自然な流れとして理解できると思うのですが。 どこまで既にできているのでしょう。テキストの切り取り以前の問題として、テキストの表示などもわからないとなると、何を説明すべきか変わってきてしまいますので。

noname#247307
noname#247307
回答No.1

検索で調べたように、文字列の切り出しはString.formatかsubstringを使うのが基本です。既にあなたは答えを手にしていると思います。 >eclipseではSystem.out.printは使えませんよね? >実行してももちろんなにも表示されません。 では、切り取った文字列をどうしたいのですか? それがわからないとどうしようもありません。 ちなみに、Labelなどに普通のテキストを表示する方法はわかりますよね? ならば、調べたString.formatやsubstringを使って切り出したテキストを同じようにLabelなどに表示すればいいと思うのですが。

non-non53
質問者

補足

ご回答ありがとうございます。 説明不足で申し訳ございません。 切り取った文字列を表示したいです。 文字列:123456789 文字列の2文字目から4文字目:234 文字列の5文字目:5 といった表記をしたいです。 Labelとは。xmlファイルに表示するものですよね? mainファイルに書く方法はありますか?

関連するQ&A

  • 文字列について(続き)

    文字列について、あれから私がベストアンサーに選んだ回答を元に下記のプログラムを作成したのですが私が作成したプログラムで出た結果が下記のようになります。実行例のような結果を出すにはどのようにすればいいのですか?Java初心者なのでお願いします。 作成したプログラムで出た結果 文字列を入力 My name is Taro Sandai. 整数を入力 10 My name is.iadnaS oraT 実行例 文字列を入力 My name is Taro Sandai. 整数を入力 10 My name isdnaS oraT ai. import java.io.*; class K2 { public static void main(String args[]) throws IOException { System.out.println("文字列を入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("整数を入力"); String str2 = br.readLine(); int num = Integer.parseInt(str2); String str3 = str1.substring(0,num); String str4 = str1.substring(num); StringBuffer str5 = new StringBuffer(str4); str5.reverse(); System.out.println(str3+str5); } }

    • ベストアンサー
    • Java
  • 文字列の比較について

    BufferedReaderでファイルを読んだのちに、見出しの文字列をカンマで分割して 文字列を比較しようとしています。 ですが、分割すると、文字列が別な文字コードによる表記に変わってしまいます。 なぜでしょうか? また、解決方法などのヒントなどあれば教えてください。 BufferedReader buffReader = new BufferedReader( new FileReader("/home/masa/Desktop/Sample.csv")); String s; int ini=0; int wamei=0; int i=0; while((s = buffReader.readLine())!= null){ String[] str = s.split(",", -1); //System.out.println(s); if (i == 0) { for(int j=0; j<str.length;j++){ System.out.println(String.toString(str)); if(str.equals("五十音")){ini = j;} System.out.println("五十音"+ini); if(str.equals("a")){wamei = j;} System.out.println("和名"+wamei); //System.out.println(j); } } i++;

    • ベストアンサー
    • Java
  • 文字列について

    適当な文字列をキーボードから入力し、次に別の適当な整数numをキーボードから入力する。次に先に入力した文字列のnum番目からnum個の文字だけ逆順になるように文字列を並び替えた文字列を新たな文字列変数に代入し、その結果を画面に出力するプログラムを下記で作成したのですが、文字列時代が逆になってしまいます。どうしたら、 結果    文字列を入力      My name is Taro Sandai.    整数を入力     10    My name isdnaS oraT になるのですか? import java.io.*; class mojiretu4 { public static void main(String args[]) throws IOException { System.out.println("文字列を入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("整数を入力"); String str2 = br.readLine(); int num = Integer.parseInt(str2); StringBuffer sb = new StringBuffer(str1); sb.reverse(); System.out.println(sb);

    • ベストアンサー
    • Java
  • キーボードから文字列を入力する際の質問です。

    キーボードから文字列を入力する際の質問です。 どうしてもカタカナでしか日本語の入力が出来ません。 ローマ字入力です。 import java.io.*; class Sample4 { public static void main(String args[]) throws IOException { System.out.println("文字列を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str + "が入力されました。"); } }

    • ベストアンサー
    • Java
  • java プログラミングについて

    独学でjavaに挑戦中ですが、書店で購入した本のソースプログラムを少し変えたいのですが、ご教授をお願いします。数当てゲームのプログラムで、一つの設問を正解すると終了するゲームですが、複数の設問を設定したいのです、質問がうまく伝わるか不安ですがよろしくお願いします、プログラムを少しだけ書いておきます。 import java.io.*; class Mojiretuate { public static void main(String[] args) throws IOException { String str = "こんにちは";  /*質問箇所*/ String str2; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("文字列当てゲームです。"); System.out.println("答えは何かのあいさつです。"); for(;;){ System.out.println("\n入力:"); str2 = br.readLine(); System.out.println("入力文字列の長さ:" + str2.length()); if(str.equals(str2)){ System.out.println("正解です!"); break; } 

    • ベストアンサー
    • Java
  • 三つの文字を順に並べるプログラム

    三つの文字を入力して、順番に並べて表示させるプログラムが作りたいのですが、どうしたらいいのかわかりません。 二つまではできました。以下に記します import java.io.*; class Sample { public static void main(String args[]) throws IOException { System.out.println("文字列1を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1=br.readLine(); System.out.println("文字列2を入力してください。"); String str2=br.readLine(); int s = 1,t = 0; if(str1.length()>str2.length()){ int len=str1.length(); StringBuffer sb=new StringBuffer(str1); while(s<len+1){ sb.insert(s,str2.charAt(t)); s=s+2; t++; } System.out.println("文字列は"+sb+"となる。"); }else{ int len=str2.length(); StringBuffer sb=new StringBuffer(str2); while(s<len+1){ sb.insert(s-1,str1.charAt(t)); s=s+2; t++; } System.out.println("文字列は"+sb+"となる。"); } } } str1に123 str2に45といった風に入力すると14253といった風になります。 これにstr3を加え、str3が6789ならば、146257389 となる風にしたいです。

    • ベストアンサー
    • Java
  • 文字列を逆転させて表示するには

    Java超初心者です。 タイトルの通りJavaで文字列を逆転させたいのです(出力まで含む)。 文字列abcdefgをgfedcbaみたいな感じでです。 以下に自分が分かる範囲で書いてみました(分からない部分が多いので未完成です、すいません)。 //の部分のコメントアウトした箇所はJavaの方で元々逆転させる文法があるらしく、それを検索して書きました(今回は無視してください)。 しかしもっと基本的な文法を用いた方法が出来ないと駄目だと思い、今回はreverse等の既存の文法を使わず、繰り返しのfor文とchar型で文字を1つ1つ連結して文字列を逆転した形にしたい訳です。 私の作成した文は関係ない文があったり、おかしいところが多々あると思いますが、どうしたらよいか教えてください(実際以下のプログラムの出力結果が目標とかけ離れているのは承知してます、恥ずかしいですがあえて状況を把握して欲しいので載せます)。 よろしくお願いします。 public class hantai { public static void main(String[] args) { String str = "abcdefg"; int length = str.length(); System.out.println("length " + length); System.out.println("charAt(0)=" + str.charAt(0)); String value =""; for(int i = 0; i < str.length(); i++) { char c = str.charAt(i); value = value + c; System.out.println(value); //StringBuffer sbrev = new StringBuffer(str); //String strrev = sbrev.reverse().toString(); //System.out.println(strrev); } } } ホント、こんなレベルなんで暇なときにでも解答お願いします、ハハ・・・orz

    • ベストアンサー
    • Java
  • 文字配列について

    Javaを最近やり始めたのですが2つほどやり方がわからないところがあります。 1つ目は Sring str = "";でstrを初期化し、 str = userInput.readLine(); で文字列を読み込みたいのですが、この読み込んだ文字を整数に置き換えたいのですがやり方がわかりません。 例えばAという文字を読み込むとするとそれを1としたいのです。 B→2、C→3、…、z→26というように。 その後その整数を使って計算をしていくのですが。 2つ目は 同じように読み込んだ文字列を1つずつ取り出して別々に表示させたいのです。 「あいうえお」というのをキーボードから入力した後 System.out.println("~あ"); System.out.println("~い"); System.out.println("~う"); System.out.println("え~"); System.out.println("お~");   ~は適当な文字が入るとします。 などのように全く別々に使いたいのです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 文字の表示

    オブジェクトを受け取るメソッド ↓は引数にString型のオブジェクトを指定するプログラムです public class Sample { public static void main(String args[]) { String str = "abcd"; change(str); System.out.println(str); } private static void change(String str) { str = "efgh"; } } 私の中ではefghがでると思っていたんですが・・ これを実行してみると変数strに最初に代入した文字列が表示されるんです! なぜですか? できれば理由を教えてください 回答よろしくお願いします

  • Stringクラスの文字列の内容

    こんにちわ。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=742689 に似たような質問がございましたが・・・ 関連書籍やサイトのいずれを見ても、 「Stringクラスは文字列の内容を変更することは出来ない」 と書いていますが・・・ String str1; String str2; str1="こんにちわ"; str2="さようなら"; str1=str1+str2; System.out.println(str1); とコーディングすると、何事もなく、 「こんにちわさようなら」 と出力されます。 そうなると、StringBufferクラスのappendメソッドをわざわざ使用しなくてもよくなるのですが、 これは、どのように解釈すればよいのかご存知の方がおりましたら、ぜひ、教えてください。 以上、宜しくお願いいたします。

    • ベストアンサー
    • Java