String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔.

Slides:



Advertisements
Similar presentations
山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
Advertisements

プログラミング第5回 1 while ループ 文字列の操作
プログラミング実習 1 ・ 2 ク ラス 第 2 週目 担当教員 : 渡邊 直樹. 課題 2 ● 2 × 2型行列の固有値, 固有ベクトルを求め る EigMatrix.java というプログラムを作成せ よ。 ● 行列の各要素はコマンド・プロンプトから入力 ● 計算した結果もコマンド・プロンプトに表示.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
ゴールデンウィークの課題 (提出日:2009/05/12) 2009/05/12に小テストがあります!
初年次セミナー 第8回 データの入力.
JavaScript プログラミング入門 2006/11/10 神津.
アルゴリズムとデータ構造 2012年6月27日
プログラミング基礎I(再) 山元進.
C言語 配列 2016年 吉田研究室.
プログラミング基礎I(再) 山元進.
Applet 岡部 祐典 鈴木 敬幸.
~手続き指向からオブジェクト指向へ(Ⅰ)~
ファーストイヤー・セミナーⅡ 第8回 データの入力.
とても使いやすい Boost の serialization
とても使いやすい Boost の serialization
基礎プログラミングおよび演習 第9回
プログラミング基礎I(再) 山元進.
プログラミング基礎I(再) 山元進.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
繰り返し プログラミング 第4回 繰り返し プログラミング第4回.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第20章 Flyweight ~同じものを共有して無駄をなくす~
Bridge Pattern
情報処理技法 (Javaプログラミング)2 第2回 前期の復習(2)
第10章 char 文字列; 文字列を入力させるよ!.
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング言語入門 手続き型言語としてのJava
JAVA入門.
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
プログラミング論 II 2008年10月30日 文字列
アルゴリズムとプログラミング (Algorithms and Programming)
第1回 プログラムの基本 他人が読めるプログラムを書く.
前回の練習問題.
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
アルゴリズムとデータ構造1 2005年6月24日
アルゴリズムとデータ構造 2010年6月21日
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
計算機プログラミングI 第5回 配列 文字列(Stringクラス) mainの引数 配列の利用例
アルゴリズムとデータ構造 2011年6月23日
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
オブジェクト プログラミング 第2回 プログラムの基本.
アルゴリズムとプログラミング (Algorithms and Programming)
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
アルゴリズムとプログラミング (Algorithms and Programming)
暗号技術 ~JAVAプログラム②~ (6週目)
計算機プログラミングI 第4回 2002年10月31日(木) 問題解決とアルゴリズム クラスメソッドと手続きの抽象化 最大公約数
情報処理Ⅱ 2006年11月24日(金).
情報処理Ⅱ 第7回 2004年11月16日(火).
アルゴリズムとデータ構造 2012年6月25日
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
プログラミング 4 文字列.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
情報処理Ⅱ 2005年11月25日(金).
プログラミング入門2 第5回 配列 変数宣言、初期化について
ねらい 数値積分を例題に、擬似コードのアルゴリズムをプログラムにする。
C言語講座 四則演算  if ,  switch 制御文.
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
情報処理技法(Javaプログラミング)1 第8回 同じ処理を何回も繰り返すには?
Presentation transcript:

String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔

はじめに 各自の「Java」フォルダの中に、「String」フォルダを作ってください。 手順: 1. 「Tera Term」を起動   2. 「cd Java」と入力   3. 「mkdir String」と入力   4. 「cd String」と入力

1. 文字列の生成(1) Stringとは? →文字列を入れる型。 文字列は「” ”」で囲む。 intやbyteとは違い、大文字で始まる。   →文字列を入れる型。   文字列は「” ”」で囲む。   intやbyteとは違い、大文字で始まる。   例)String a = "abc";

1. 文字列の生成(2) 「Append.java」を実行してみましょう。

2. 文字列の比較(1) 数値の場合は「a == b」のように表記し比較するが、文字列の場合はそうはいかない。 そこで比較用のメソッド「equals()」を使う。   例)a.equals(b)     文字列aとbが等しいなら true

2. 文字列の比較(2) 「Equal.java」を実行してみましょう。

演習①(テキストの演習2) Equal.javaを(equalsを用いて)書き換え、以下のような結果になるEqual2.javaを作りなさい。

演習① 解答例 public class Equal2{ public static void main(String argv[]){ 演習① 解答例 public class Equal2{ public static void main(String argv[]){ String s1 = "Takuma"; String s2 = "Akito"; String s3 = "Takuma"; String s4 = new String(s1); System.out.println(s1 + "==" + s2 + " : " +(s1 == s2)); System.out.println(s1 + "==" + s1 + " : " +(s1 == s1)); System.out.println(s1 + "==" + s3 + " : " +(s1 == s3)); System.out.println(s1 + "==" + s4 + " : " +s1.equals(s4)); }

3. 文字列の操作(1) a,bをStringとしたとき、 a.length() 文字列aの長さを求める。 a.charAt(int i)    文字列aのi番目の文字を求める。 a.indexOf(String x)    文字列aの最初に文字xが現れる場所を求める。 a.substring(int i, int j)    文字列aのi番目からj番目までの部分文字列を求める。

3. 文字列の操作(2) │情│報│メ│デ│ィ│ア│ 「情報メディア」という文字列があったとして、これを「substring」で指定したときと「indexOf」で指定したときとでは示している位置が異なる。 a.substring(0, 4)・・・出力結果は「情報メデ」 0→ 1→ 2→ 3→ 4→ 5→ 6→ │情│報│メ│デ│ィ│ア│ ←0 ←1 ←2 ←3 ←4 ←5 a.indexOf(デ)・・・出力結果は「3」

演習②(1)(テキストの演習3) 文字列 “259-1292神奈川県平塚市北金目1117” について 1. 何文字あるか数えよ。 2. 3文字目を表示せよ。 3. 郵便番号だけを表示せよ。 4. 県名だけを表示せよ。 5. 県名だけを除いて表示せよ。

演習②(2)

演習② 解答例 public class Tokai{ public static void main(String argv[]){ 演習② 解答例 public class Tokai{ public static void main(String argv[]){ String a = "259-1292神奈川県平塚市北金目1117"; System.out.println(a); System.out.println("文字列の長さ:" + a.length() + "文字"); System.out.println("3文字目:" + a.charAt(2)); System.out.println("郵便番号:" + a.substring(0, 8)); System.out.println("県名:" + a.substring(8, 12)); System.out.println("県名以外:" + a.substring(0, 8) + a.substring(12, 22)); }

4. 文字列の走査(1) charAtを使うと文字列を一文字づつ分解することが出来る。 例)s="abc"を  s.charAt(0) + s.charAt(1) + s.charAt(2)  と書くと“abc” が表示される。

4. 文字列の走査(2) 「Forward.java」を実行してみましょう。

演習③(テキストの演習4) Forwardを修正し、入力文字を逆順にするReverse.javaを書きなさい。

演習③ 解答例 public class Reverse{ public static void main(String argv[]){ 演習③ 解答例 public class Reverse{ public static void main(String argv[]){ String s = argv[0]; int i; for(i = s.length()-1; i > -1; --i){ System.out.print(s.charAt(i)); } System.out.println();

5. バイト配列 String sからbyteの配列b[]への変換 byte b[] = s.getBytes();   String s = new String(b); 整数(int a)から文字列への変換   String s = new String(a);   (もしくは, String s = "" + a;) 文字列から整数への変換   int a = Integer.parseInt(s);

6. 多次元配列 int x[][] = {{1, 2}, {3, 4}}; これは2行2列の行列を表現している。 x[0][0] = 1, x[0][1] = 2, x[1][0] = 3, x[1][1] = 4 のように初期化される。 x[0]は {1,2} という整数の配列であり、x[1]は{3,4}の配列である。

宿題① テキストの宿題3 入力した単語を以下のように表示する「Display.java」を作りなさい。 出力結果例) 実行例) $ java Display kikn kiknkiknkiknkiknkiknkikn kikn kiknkiknkiknkikn kikn kiknkikn kiknkikn kiknkikn kiknkiknkikn kiknkiknkikn

宿題②(オリジナル) 任意の文字列を入力し、そこに「moji」という文字列があった場合は「true」を表示し、無かった場合は「false」を表示する「Moji.java」を作りなさい。 実行例) $ java Moji abcdefgmojihij 出力結果例) true

宿題③(オリジナル) 下記の配列を小さい順に表示する「Hairetsu.java」を作りなさい。 ただし、必ずfor文とif文を使うこと。   { 12, 67, 6, 29, 77, 41 } 出力結果例) 6 12 29 41 67 77 実行例) $ java Hairetsu