■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 最新50

JAVA神様 かざっさま

1 :アヌス : 2009/01/27 18:37
投稿できなくなってしまったので、新しいスレッドにもう一度貼りますです。

何文字かのstringを受け取ってその文字列の真ん中2文字だけをreturnで返したいのです。文字が奇数の場合は右よりの2文字です。
例) 
middleTwo("abcd") → "bc"
middleTwo("abcde") → "bc"
文字列は必ず2文字以上あると前提しますです。

それともう一つ。取得した数字が奇数ならfalse偶数ならtrueを返すプログラムです。
例)
isEven (24) → true
isEven (25) → false

どうやらこれは、2つのメソッド(真ん中の文字プログラムと、奇数偶数プログラム)をクラスTwoMethodsに書いて、
それぞれのメソッドに、テストメソッドをクラスTwoMethodsTestに書く、というものらしいのですが、プログラムを貼ります。
しかいしくつか抜けてるところがあってそれをコンプリートしなきゃいけないみたいです。



このクラスは、Stringsといくつかの基本となるタイプを処理するメソッドをテストするための2つのメソッドのテストが記されている(日本語がおかしい・・・汗)
import static org.junit.Assert.*;
import org.junit.Test;

public class TwoMethodsTest {
@Test
public void testMiddleTwo() {

//ここにTwoMethodsオブジェクトが要ります//

TwoMethods myFuns = new TwoMethods();

//middleTwoメソッドをテストするための4つのケース//
assertEquals("bc", myFuns.middleTwo("abcd"));
assertEquals("bc", myFuns.middleTwo("abcde"));
assertEquals("23", myFuns.middleTwo("12345"));
assertEquals("pu", myFuns.middleTwo("Computers"));
assertEquals("to", myFuns.middleTwo("to"));
assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
}
//もう一つのテストメソッドを以下に
}

ここからテストされるメソッドのクラス
public class TwoMethods {
public String middleTwo(String arg) {
return "TBA"; //ここのメソッドを変えなければならないようです。
}
//もうちょっといくつかのメソッドを以下に
}

おそらくエラーが出るそうです。JUnit 4はbuild pathにないからだとか。だからJUnit 4をbuild pathに加えないといかんとかなんとか・・・
JUnit testとして実行する。でもassertionはパスしない(赤いバーになる)。
だからTwoMethods.middleTwo(String)を修正する必要があると・・・

次は奇数か偶数かのメソッド。テストメソッドはTwoMethodsTest.javaへ、isEvenメソッドはTwoMethods.javaへ。そして新しいTwoMethodsを作る必要があります。

public boolean isEven(int number)
@Test
public void testIsEven() {
TwoMethods myFuns = new TwoMethods();
assertTrue(myFuns.isEven(24));

//ここにあといくつかassertionを加えたいのです。
assertFalse(myFuns.isEven(25));
みたいな感じでいいのかな。多分他のケースも加えないといかんのかな。

}
自分でも書いてて理解できん・・・。かざっさん、この意味わかる・・・?


2 :大和 : 2009/01/27 18:55
1000までいかないなんてひさしぶりだなあ
スレたてどうもです!


3 :大和 : 2009/01/27 19:02
真ん中の2文字を切り取るプログラムは,
length() メソッドを使いそうだなあ。

奇数ならfalse偶数ならtrueを返すプログラムは,
単純に計算処理をすれば良さそうかな!

ちょっと夕ご飯食べてくるね。
19時40分まで待ってねごめんね。



4 :アヌス : 2009/01/27 19:16
そうなんだよね。length()で文字数はかって2で割ったところの2文字を返せばいいだけだよね。
理解できないところは、テストメソッドとか、テストメソッドはTwoMethodsTest.javaへ行ってisEvenメソッドはTwoMethods.javaへ行くってのがサッパリです
テストされるメソッドのクラスに、length()を使った処理をするんだろうけど、ならテストメソッドって一体・・・?
普通に全部一緒にかけばいいと思うのになんでいちいちテストメソッドとかなんとか・・・と頭がこんがらがってしまっています・・・
上のソースが理解できない・・・


5 :大和 : 2009/01/27 19:59
テストメソッドはね!
本当にただ単に結果がちゃんと正しい結果が出るか,
テストしてるだけなんだ。

つまり,
テストメソッドがなくても,
プログラム2つとも動作します!

テストメソッドはプログラムのコードが完成したら,
あとでつけ足して,で動作確認するためのコードなんです。
テストメソッドがあろうとなかろうと,プログラムは動作するんですね。
だから今は,



// 現段階では不要なコードのため,コメントアウト。
// import static org.junit.Assert.*;
// import org.junit.Test;
//
// public class TwoMethodsTest {
//
//     // isTwo() のコード書き終わるまで,こいつはお預け。
//     @Test
//     public class testMiddleTwo {}
//     // isEven() のコード書き終わるまで,こいつはお預け。
//     @Test
//     public void testIsEven() {}

public class TwoMethods {
    public String middleTwo(String arg) {
        return "TBA"; // ここのメソッドを変えなければならないようです。→大和:了解。
    }

    public boolean isEven(int number) {
        return; // true か false を返せばいいね。
    }
}


まず土台はこんな感じかな!


6 :大和 : 2009/01/27 20:48
あ なんか土台だけ作っちゃえばもうみさきっさんできそうな予感が(’’
一応もうちょっと書いてみるね。



真ん中の2文字を切り取るプログラム

1. 引数で取得した String 型変数「arg(仮に「abcdef」とする)」の,真ん中2文字(「cd」)を取得する。
 1.1. 「1.」で取得した値を length() で文字数(「6」)を調べる。
 1.2. 文字数を 2 で割り,商を求める(結果は 3)。
 1.3. 「1.」で取得した値に,substring(「2.2. で求めた値 - 1」, 「2.2. で求めた値」) する。
  →この場合,「"abcdef".substring((3 - 1), 3)」と同義。

2. 「1.3.」で取得した値を return する。



奇数ならfalse偶数ならtrueを返すプログラム

1. 引数で取得した int 型変数「number」,奇数か偶数か判断する。
 1.1. 「1.」で取得した値を 2 で割り,余りを求める。
 1.2. 余りが 0 なら true に,1 なら false とする。

2. 「1.2.」で取得した値を return する。


7 :アヌス : 2009/01/27 20:33
いえ、すみません・・・ちょと頭の整理ができてなくて・・・
全体のプログラムではどのようになるんでしょうか・・・

コード書き終わったらテストメソッドを作るのか・・・。多分今回の課題ではやはりテストも作らないといけないのかな。
かざっさん、この場合のテストメソッドの作り方も聞いていいですか?


8 :アヌス : 2009/01/27 20:35
普通に真ん中の文字を返すとか異数偶数のプログラムを組むってんならすごいシンプルですぐできるんだけど、テストとか新しいのがまざった瞬間 いみわからんくなってしまう・・・
応用きくようにしないとダメだな・・・ショボン


9 :大和 : 2009/01/27 21:00
>>7,8
了解!
テストメソッドとプログラムのメソッドは,完っ璧に切り離して考えていいよ!
つまり,今はテストメソッドの事は,100%忘れちゃってください。

真ん中メソッドと偶奇メソッドの,
2つのメソッドを作る事だけ,考えてくれればいいよ!

真ん中メソッドと偶奇メソッドを完成させるまで,
テストメソッドは ま っ た く 関与してきません。
作ったあとにはじめて関与します。
これは作ったあとに,その意味がわかるはず^ω^。

なので今は,
「@Test ってなに・・・?」
「TwoMethods myFuns = new TwoMethods() ってなに・・・?」
「assertEquals("bc", myFuns.middleTwo("abcd")) ってなに・・・?」
とか,一切考えなくて大丈夫!

テストメソッドに関係する全ての事柄を,今は一切考えずに作ってくれて大丈夫だよ!


10 :大和 : 2009/01/27 21:02
テストメソッドも作るのが,今回の課題みたいだねー。
コードが出来上がったらテストメソッドを作ってみましょう!

なあに,テストメソッド作りはじめたら,ああこういう事だったのねってすぐわかるはずさ。
まずは,今は2つのプログラム作ってくれて大丈夫だよー。


11 :大和 : 2009/01/27 21:07
よし風呂だ。
みさきっさんコーディング頑張ってみてー(´∀`)。
テストメソッドは100%考えなくてオッケー!


12 :ねこみみ : 2009/01/27 22:08
かざっさんがんばって勉強したなぁ。

早くコンテンツ作ろうぜ!




13 :大和 : 2009/01/28 01:18
ありがとうー。
でもみんなにはまだまだ足元にも及ばんからね!
みんなに感謝しつつもっと精進します!
ゆくゆくは,いや近いうちに他の言語にも手を伸ばしてみないとね!


14 :アヌス : 2009/01/28 05:01
簡単に作ったけど、これでいいですよね?

public class TwoMethods {
public String middleTwo(String arg) {

int a = arg.length();
int b = a % 2;
String st = str.substring(b-1, a);

return st;
}



public boolean isEven(int number) {

int a = number % 2;
if(a==0)
return True;
else
return False;
}
}

間違ってたら教えてください。
そしてここでテストはどのように作るのでしょうか・・・


15 :大和 : 2009/01/28 08:27

public class TwoMethods {
    public String middleTwo(String arg) {
        int a = arg.length();
        int b = a % 2;
        String st = arg.substring((b - 1), b);

        return st;
    }

    public boolean isEven(int number) {
        int a = number % 2;
        if (a == 0)
            return true;
        else
            return false;
    }
}


細かいとこの指摘ですが,こんな感じかな!
あとは完璧ですね!


16 :大和 : 2009/01/28 09:19

import static org.junit.Assert.*;
import org.junit.Test;

public class testTwoMethods {

    @Test
    public void testMiddleTwo() {
        TwoMethods myFuns = new TwoMethods();

        assertEquals("bc", myFuns.middleTwo("abcd"));
        assertEquals("bc", myFuns.middleTwo("abcde"));
        assertEquals("23", myFuns.middleTwo("12345"));
        assertEquals("pu", myFuns.middleTwo("Computers"));
        assertEquals("to", myFuns.middleTwo("to"));
        assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
        assertEquals("ゃん", myFuns.middleTwo("カトちゃんペッ!"));


    @Test
    public void testIsEven() {
        TwoMethods myFuns = new TwoMethods();

        assertTrue(myFuns.isEven(24));
        assertTrue(myFuns.isEven(-128));
        assertFalse(myFuns.isEven(25));
    }
}



これがテストクラスだよー。

実はこれ,「テストクラス」とか「テストメソッド」なんてかっこいい名称がついているけど,
普通のクラスやメソッドと大差ない,ただの「クラス」と「メソッド」なんだ。

「JUnitというテスト動作確認ツール」で動作させるために,
普通の「クラス」をちょっと 改 変 し た だ け のただのクラスなのです。

テストクラスで不明な箇所があったら何なりと聞いてね!


17 :大和 : 2009/01/28 09:18
>>1
> しかいしくつか抜けてるところがあってそれをコンプリートしなきゃいけないみたいです。

>>14のコードで完璧です。
実装メソッドの抜けてるところは,これでコンプリートしましたね!
テストクラスも,みさきっさんが提示してくれたやつ(>>16)で,もうこれでコンプリートです。
もうこれで十分ですが,
まだテストケースを追加したいなら追加してもおk!


> このクラスは、Stringsといくつかの基本となるタイプを処理するメソッドをテストするための2つのメソッドのテストが記されている(日本語がおかしい・・・汗)

大丈夫です。ちゃんと理解できる文章ですよ。


> public class TwoMethods {
> public String middleTwo(String arg) {
> return "TBA"; //ここのメソッドを変えなければならないようです。
> }

もう変え終わりましたね。おつかれさま。


> おそらくエラーが出るそうです。JUnit 4はbuild pathにないからだとか。だからJUnit 4をbuild pathに加えないといかんとかなんとか・・・
> JUnit testとして実行する。でもassertionはパスしない(赤いバーになる)。
> だからTwoMethods.middleTwo(String)を修正する必要があると・・・

>>16ので,再度テストをかけてみてください。
今度は赤いバーが出ないで全部緑のバーになるはずです!


> public boolean isEven(int number)
> @Test
> public void testIsEven() {
>     TwoMethods myFuns = new TwoMethods();
>     assertTrue(myFuns.isEven(24));
>
> // ここにあといくつかassertionを加えたいのです。
> assertFalse(myFuns.isEven(25));
> みたいな感じでいいのかな。多分他のケースも加えないといかんのかな。

みたいな感じで完璧です!
testIsEven() の目的は,isEven() から return されてくる値が「偶数」か「奇数」かを,調べる事です。
なので,この 24 と 25 だけで完璧だよー。



テストメソッドに関する書き込みは以上です。
みさきっさんさすが。
ここどうなってるの?って箇所があったらどんどんまた聞いてくださいね。


18 :アヌス : 2009/01/28 17:53
実行の手順ですけど、テストメソッドと本体は一緒に実行するん?それともテストだはテストだけで?

import static org.junit.Assert.*;
import org.junit.Test;

public class testTwoMethods {

@Test
public void testMiddleTwo() {
TwoMethods myFuns = new TwoMethods();

assertEquals("bc", myFuns.middleTwo("abcd"));
assertEquals("bc", myFuns.middleTwo("abcde"));
assertEquals("23", myFuns.middleTwo("12345"));
assertEquals("pu", myFuns.middleTwo("Computers"));
assertEquals("to", myFuns.middleTwo("to"));
assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
assertEquals("ゃん", myFuns.middleTwo("カトちゃんペッ!"));


@Test
public void testIsEven() {
TwoMethods myFuns = new TwoMethods();

assertTrue(myFuns.isEven(24));
assertTrue(myFuns.isEven(-128));
assertFalse(myFuns.isEven(25));
}
}

これだけで実行するのか・・・それとも

import org.junit.Test;

public class testTwoMethods {

@Test
public void testMiddleTwo() {
TwoMethods myFuns = new TwoMethods();

assertEquals("bc", myFuns.middleTwo("abcd"));
assertEquals("bc", myFuns.middleTwo("abcde"));
assertEquals("23", myFuns.middleTwo("12345"));
assertEquals("pu", myFuns.middleTwo("Computers"));
assertEquals("to", myFuns.middleTwo("to"));
assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
assertEquals("ゃん", myFuns.middleTwo("カトちゃんペッ!"));


@Test
public void testIsEven() {
TwoMethods myFuns = new TwoMethods();

assertTrue(myFuns.isEven(24));
assertTrue(myFuns.isEven(-128));
assertFalse(myFuns.isEven(25));
}
}

public class TwoMethods {
public String middleTwo(String arg) {
int a = arg.length();
int b = a % 2;
String st = arg.substring((b - 1), b);

return st;
}

public boolean isEven(int number) {
int a = number % 2;
if (a == 0)
return true;
else
return false;
}
}

こうやって実行するのか・・・それとも本体をテストメソッドに挿入しなきゃいけないとか・・・

本体の
public class TwoMethods {
public String middleTwo(String arg) {
int a = arg.length();
int b = a % 2;
String st = arg.substring((b - 1), b);

return st;
}

public boolean isEven(int number) {
int a = number % 2;
if (a == 0)
return true;
else
return false;
}
}

にはimportとかがないけど・・・


19 :アヌス : 2009/01/28 18:37
ていうか、

public class TwoMethods {
public String middleTwo(String arg) {
int a = arg.length();
int b = a % 2;
String st = arg.substring((b - 1), b);

return st;
}

public boolean isEven(int number) {
int a = number % 2;
if (a == 0)
return true;
else
return false;
}
}

このプログラムではどうやってStringのargの値を取得するん?キーボード入力でもないし、初期化してるわけでもないし・・・

テストメソッドと本体とではnew TwoMethodsってのが共通してるけど、これでargのやりとりしてるん・・・?
テストと本体どうやって組み合わせて実行するかが・・・


20 :大和 : 2009/01/28 20:21
>>7
TwoMethodsTest クラスから,TwoMethods クラスの2つのメソッドを呼び出すんだー。
なので,テストメソッドだけ呼び出せばいいよ!



>>8
>このプログラムではどうやってStringのargの値を取得するん?キーボード入力でもないし、初期化してるわけでもないし・・・

例えばこれ!

TwoMethods myFuns = new TwoMethods();
assertEquals("bc", myFuns.middleTwo("abcd"));

テストクラスから,middleTwo() を呼び出しているよ!
呼び出すと同時に,引数で文字列「abcd」を渡しているね。
で,呼び出された middleTwo() で,渡されてきた引数の値を変数 arg で受け取るんだ。

メソッドを呼び出す: myFuns.middleTwo("abcd");
呼び出されたメソッド: public String middleTwo(String arg) {}
文字列「abcd」が渡され,middleTwo() の引数内で宣言された変数 arg に渡される。


>テストメソッドと本体とではnew TwoMethodsってのが共通してるけど、これでargのやりとりしてるん・・・?
>テストと本体どうやって組み合わせて実行するかが・・・

やりとりしてるのは↓太文字の部分!

TwoMethods myFuns = new TwoMethods();
assertEquals("bc", myFuns.middleTwo("abcd"));
assertEquals("bc", myFuns.middleTwo("abcde"));
assertEquals("23", myFuns.middleTwo("12345"));
assertEquals("pu", myFuns.middleTwo("Computers"));
assertEquals("to", myFuns.middleTwo("to"));
assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
assertEquals("ゃん", myFuns.middleTwo("カトちゃんペッ!"));

今回は,テストメソッドから本体を呼び出します!
いつもは main() メソッド使っていたけどね!
説明よくわからないとこがあったら,遠慮なくどんどん教えてねー。


21 :大和 : 2009/01/29 00:43
おしねよ!
また明日の朝!


22 :アヌス : 2009/01/29 01:48
なるほど!じゃぁ 実行するときは

import static org.junit.Assert.*;
import org.junit.Test;

public class testTwoMethods {

@Test
public void testMiddleTwo() {
TwoMethods myFuns = new TwoMethods();

assertEquals("bc", myFuns.middleTwo("abcd"));
assertEquals("bc", myFuns.middleTwo("abcde"));
assertEquals("23", myFuns.middleTwo("12345"));
assertEquals("pu", myFuns.middleTwo("Computers"));
assertEquals("to", myFuns.middleTwo("to"));
assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
assertEquals("ゃん", myFuns.middleTwo("カトちゃんペッ!"));


@Test
public void testIsEven() {
TwoMethods myFuns = new TwoMethods();

assertTrue(myFuns.isEven(24));
assertTrue(myFuns.isEven(-128));
assertFalse(myFuns.isEven(25));
}
}

public class TwoMethods {
public String middleTwo(String arg) {
int a = arg.length();
int b = a % 2;
String st = arg.substring((b - 1), b);

return st;
}

public boolean isEven(int number) {
int a = number % 2;
if (a == 0)
return true;
else
return false;
}
}

この表記でいいの?


23 :anusu : 2009/01/29 05:35
daigaku kara sitsurei simasu

nihongo utenakute...

test method ha konna kannji desuka

import static org.junit.Assert.*;
import org.junit.Test;

public class TwoMethodTest {
@Test
public void testMiddleTwo() {
TwoMethod myFuns = new TwoMethod();

assertEquals("bc", myFuns.middleTwo("abcd"));
assertEquals("bc", myFuns.middleTwo("abcde"));
assertEquals("23", myFuns.middleTwo("12345"));
assertEquals("pu", myFuns.middleTwo("Computers"));
assertEquals("to", myFuns.middleTwo("to"));
assertEquals("is", myFuns.middleTwo("antidisestablishmentarianism"));
assertEquals("ta", myFuns.middleTwo("mountaindew"));
}

@Test
public void testIsEven() {
TwoMethod myFuns = new TwoMethod();

assertTrue(myFuns.isEven(24));
assertFalse(myFuns.isEven(25));
}
}

de,honntai ha

public class TwoMethod {

public String middleTwo(String arg) {
int a = arg.length();
int b = a / 2;
String st = arg.substring(b-1, b+1);

return st;
}

public boolean isEven(int number) {
int a = number % 2;
if (a == 0)
return true;
else
return false;
}

korede midori ni narimasitayo!

int b = a % 2;
String st = arg.substring((b - 1), b);

kokoga tigaimasita

int b = a / 2;
String st = arg.substring(b - 1, b+1);

korede ugokimashitayo!

aragatou kazassann!


24 :大和 : 2009/01/29 07:47
10時にレスしますね。
おお動いた?!よかったー!


25 :アヌス : 2009/01/29 08:13
ある時、父さんが家にロボットを連れてきた。
そのロボットは特別で、ウソをついた人の顔をひっぱたくって言う物騒な代物らしい。
そんなある日…。
僕は学校から帰宅するのがかなり遅くなってしまった。
すると父がこう尋ねてきた。
「どうしてこんなに遅くなったんだ?」
僕は答えた。
「今日は学校で補習授業があったんだよ」
すると驚いたことに、ロボットが急に飛び上がり、僕の顔をひっぱたいた。
父は言った。
「いいか、このロボットはウソを感知して、ウソついた者の顔をひっぱたくのさ。さあ、正直に言いなさい」
そして父がもう一度聞いてきた。
「どうして遅くなったんだ?」
僕は本当のことを言うことにした。
「映画を見に行ってたんだ」
父はさらに聞いてきた。
「なんの映画なんだ?」
「十戒だよ」
これに反応して、ロボットがまた僕の顔をひっぱたいた。
「ごめんなさい…父さん。実を言うと『Sexクイーン』ってのを見てたんだ」
「何て低俗な映画を見てるんだ、恥を知れ!いいか、父さんがお前くらいの頃は、そんな映画を見たり態度が悪かったことなんて無かったんだぞ」
するとロボットはきつい一発を父に食らわせた。
それを聞いていた母が、キッチンから顔を覗かせるとこう言った。
「さすが親子ね、あなたの子だけあるわ」
母も顔をひっぱたかれた。


26 :アヌス : 2009/01/29 10:02
  (  ゚д゚ )
  |   |         チャリーン
  U _ U        __lヽ,,lヽ
   〉 ) 〉).        | |Θ|(    )
  | ̄ ̄ ̄| ̄ ̄|_ |_|_|と   i
  |___|__|_|  |_|  しーJ




  ∧_∧
  .( ゚д゚ )>>1乙
  |   |
  U _ U        __lヽ,,lヽ
   〉 ) 〉).        | |Θ|(    )
  | ̄ ̄ ̄| ̄ ̄|_ |_|_|と   i
  |___|__|_|  |_|  しーJ



  ∧_∧
  (  ゚д゚ )
  |   |
  U _ U        __lヽ,,lヽ
   〉 ) 〉).        | |Θ|( ゚д゚ )
  | ̄ ̄ ̄| ̄ ̄|_ |_|_|と   i
  |___|__|_|  |_|  しーJ


27 :大和 : 2009/01/29 12:33
おおちゃんと出来たんだね!
よかったよかった〜。
またJavaの問題でたら気軽に言うてください!
私もいい経験になるからありがたいです。


28 :アヌス : 2009/01/29 13:19
       ..|
       |く(  )ゝ   だ・る・ま・さ・ん・が・
       | (  )       こ・ろ・ん・
       |_ノ_|____

   (  )
  ノ( )ヽ        (  )
   ハ         ノ( )ヽ
 彡             ハ
        (  )        ミ
      ノ( )ヽ
       ハ
       l.l.l






       |
       |く(゚д゚)         だ
       | (  ノ`l
       |_ノ_|____

   (゚д゚)
   ノl L         (゚д゚)
   ハ          ノ )、
                ハ
        (゚д゚)
       ( L'
       ハ


29 :アヌス : 2009/01/29 13:20
      (;´Д`)   シコシコシコシコ
    _(ヽηノ_
      ヽ ヽ






      ( ゚д゚ ) !
    _(ヽっノ_
       ヽ ヽ






      ( ゚д゚ )   シコシコシコシコ
    _(ヽηノ_
      ヽ ヽ


30 :アヌス : 2009/01/29 13:20
ありがとうございますです! 
明日かあさってあたりにまた質問させてください!



31 :アヌス : 2009/01/29 19:04
       ____(;゚;;)    ∧∧ (;゚;;)
   __/ ∧_∧ (;゚;;)(;゚;;)\(´・ω・`)丿
  / //_(´・ω・)(;゚;;)(;゚;;)(;゚;;)\ /     みかん食べる〜?
 〈  〈※(  つ ______ \           おいし〜よ〜♪
  \ ~と( ※ ※ ※ ※ ※ ※ヽ\
   \ \⌒ ※  ※ ※ ※ ※ ※ ヽ \
     \ `ー──o(´・ω・`)o──‐‐'  \
      ゝ、, ____________〉


32 :大和 : 2009/01/29 23:30
じゃんじゃんどうぞ!


33 :大和 : 2009/01/29 23:31
眠い!ねるー^q^


34 :アヌス : 2009/01/30 19:19
文字列で大文字小文字の変化の問題がでてきてしまい困っています。
文字列はやっぱ苦手だなぁ・・・

かざっさん。いくつか例題をのせますのでちょっと見てくれませんか。今回もテストメソッドがいるんだよね。。。
booleanとテストメソッドの作り方もちょっといまいちなのです・・・

0:
public boolean isLeapYear(int year)

うるう年ならtrue、違えばfalseを返します。うるう年は、4年に一度だから4で割り切れるかどうかですが、1世紀の最後の都市はうるう除外します
それと400で割り切れる必要もあります。
2000年はうるう年でも2100年は違います。


isLeapYear(2008) return true
isLeapyear(2009) return false
isLeapYear(2100) return false
isLeapYear(2400) return true

今回のプログラム(10個)も前のと同じように一つのクラスControlFunに書き、テストメソッドControlFunTestを作ります

import static org.junit.Assert,*;
import org.junit.Test;
import java.util.Scanner;

pubilc class ControlFunTest{

@Test
public void testIsLeapyear(){
ControlFun myFun = new ControlFun();
assertTrue(myFun, isLeapYear(2008));
assertFalse(myFun, isLeapYear(2009));
assertFalse(myFun, isLeapYear(2100));
assertTrue(myFun, isLeapYear(2400));
}
//残り(9つ)のテストメソッド
}

ここからプログラム本体
import java unit.Scanner;

public class ControlFun{
public boolean isLeapYear(int year){
//ここに足りない部分を補う
return false
}
//残り(9つ)のメソッド
}


35 :アヌス : 2009/01/30 18:21
1:

文字列を半分に分けて、最初の半分の文字列と後半の文字列と入れ替えます。そしてその後、最初の半分の文字列を全部小文字に、後半の文字列を大文字に変えます。

halfAndHalf("x2y4abcd")→ "abcdX2Y4"
halfAndHalf("AbcDef")→ "defABC"
halfAndHalf("Hello")→ "lloHE"
halfAndHald("U of A")→ "F aU O"

もし文字列が奇数の場合は、Helloの例のように、真ん中の小文字のlを一番始めにもってきます。

public String halfAndHalf(String str)


267 KB
続きを読む

掲示板に戻る 全部 次100 最新50
名前: E-mail (省略可) :

read.php ver2.4 2005/04/13