TODOS・何でも情報交換TOPから是非ご覧ください。
一番下の投稿フォームへ > スレッド一覧 > 記事閲覧
o6asanさんのJAVAトライ・その20
日時: 2013/10/18 18:14
名前: りり

定例の週末質問が出ました。

階段の電灯は各階にスイッチがあり、どの階のスイッチを操作しても、点灯・消灯ができるよう
に作られています。3階の建物の階段を考えます。各階に1つづつ左右に倒す形式のスイッチが設置
されているとしましょう。電灯は階段全体を照らすものが1系統あるとします。
このシステムをシミュレートするクラスLightSystemを作成し、また動作を確認する
(実験をする)mainメソッドをもつクラスJ1も作成しなさい。
void turnSwitch1(), void turnSwitch2(), void turnSwitch3()
それぞれの番号の階のスイッチを操作する
void showState()
各階のスイッチの状態(どちらに倒れているか)と、電灯の点灯・消灯を表示する


最近は、頑張って途中までのスクリプトを載せています。
ここまでで、これ以上分からないとのことです。

class LightSystem
{
void turnSwitch1()
{

}
void turnSwitch2(){}

void turnSwitch3(){}

void showState()
{}


J1
{
public static void main(String[] args)

定義しただけなので、もう少し頑張るように言われているようです。
メンテ

*TODOS・何でも情報交換・TOP*<スレッドPage> 最新 | 2 | 1 |

Re: o6asanさんのJAVAトライ・その20 ( No.10 )
日時: 2013/10/19 08:03
名前: o6asan

OKWave のヒントでは, 111 で「点く」になってますね。
考えてみると, 0 , 1 の使い分けは,こちらのほうが妥当です。

私の図では,1階,2階,3階のスイッチの状態の図を先に作り,
この図が 0 ,この図が 1 という作り方をしたものですから,
出来上がりで,ON,OFFが反対になってしまいました。
それに,2階にもスイッチはあるんだというつもりで●を書き入れた
のですが,そのあたりも,かえって見づらくなってます。

作り直すのも面倒( )なので,ご覧になる方のほうで,
頭の中で逆にしたり,そのあたりよろしくお願いします。
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.11 )
日時: 2013/10/19 14:34
名前: ぱそ吉

スキャナのテストがしたくて、使って見ました
字が汚くて見苦しいですが

>玄関とリビング近くと2箇所でコントロールできることを思い出し、そのようにお願いしてみました。
>複数箇所からオン・オフする配線って、面倒なんでしょうかね?

これは普通の三路回路です

材料は三路スイッチが2つと電線で済みます

配線はそんなに難しくは有りませんが問題は電線を何処を通すかです
露出配線という手も有りますが、綺麗なマンションなどは なるべく壁や天井に隠したいですよね

( No.3 )の1階だけの配線(スイッチが1つ)と比べてみると、線が増えている違いがわかります


えっ、BMP画像はアップ出来ないのですか?


 
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.12 )
日時: 2013/10/19 19:32
名前: りり

ぱそ吉さん、詳しくありがとうございました。
この話題で続きそうなので、こちらにコピーしました。
http://todos.xsrv.jp/1patiodenki/todos.cgi?no=53
よろしくお願いします。
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.13 )
日時: 2013/10/21 00:39
名前: o6asan

OKWaveですが,今回,かなりきちんと回答を貰ってますね。

それに対して,
> 出来たらreturnとか難しい言語使わないでください
などと,また失礼な書き方をしているのですが,
それに対して,MillenniuMという方は,また,回答を書いてくださっています。

例の彼は,どう反応するでしょうか。

しかし,彼は,本当にコミュニケーション能力に欠けるようですねぇ。

これまでの課題を見ると分かるのですが,彼の受けている講義では,いまだに,private変数は
出てきていないようです。したがって,thisと書かれてもその意味も分からないでしょう。
それに,サブメソッドからメインメソッドへ引数で値を返す方法もまだやっていないようです。

まあ,習っていてもわからないレベルに終始していると言えば言えるのですが,わかるわからないは
別にして,見たこともないだろうということです。

私は,かなり,彼の課題に付き合ってきたので,それがわかるのですが,急に回答を下さった方には,
そのあたりをきちんと説明して,そのレベルで教えてくださいと,書かないといけないのですが……

彼の書き込みを読んでいるとため息が出ます。
せっかくのMillenniuMさんも取り逃がしてしまうのでしょうか?
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.14 )
日時: 2013/10/21 06:51
名前: りり

そうですね。MillenniuMさんは、余り深く考えず自分の勉強を兼ねて公開したいと言うような雰囲気を感じます。
私たちが、学校の課題で、どのような講座かなと少し検索しただけで背景が分かったように、本当はMillenniuMさんも、そのあたり気づく必要があると思います。

このまま続けても本人のためにならないですから。

続けていくと、いつか、学校側に分かると思います。


すでに、OKWaveで、進路を変えるなら早い方が良いよ…という親切心からの助言も出ているんですよね。

でも、人の話を聞かないし、自分の主張をするだけなんですよね。
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.15 )
日時: 2013/10/21 18:24
名前: o6asan

Sample20_1.javaです。

Sample20_1とはどういうことかというと,
http://todos.xsrv.jp/11patioalacarte/todos.cgi?mode=view2&f=84&no=114
で書いたように,スイッチが何個あっても,一つのプログラムで可能なのです。それを組んでみました。
また,private 変数,サブメソッドの引数,thisなども使っています。

これだと,参考にはなるけど,そのまま宿題の答えとして提出はできないので,MillenniuMさんの分同様
早めに公開しても問題ないかと思います。

工事で4路スイッチを設置したことがあるわけではないので,実際にはどういう状況が点灯状態の初期値と
して妥当なのかわかりませんが,すべてのスイッチが右に倒れている場合をオール1で点灯と考えています。

エンドレスのループになっていますので,停止させるときは,Ctrl+cを打ってください。

http://o6asan.com/blog-j/files/JAVA/TODOS/Sample20_1.txt

----------------------------------------------------------------------------------
ずっと,UTF-8でアップロードしてきたのですが,注釈文が日本語で入っていると,コンパイルするときに
エラーになることに気づきましたので,Shift_JISに戻しています。ブラウザで見たときに文字化けするようで
あれば,Shift_JISで読み込みなおしてください。

----------------------------------------------------------------------------------
動作確認は,jdk-7u40-nb-7_3_1-windows-i586.exeでやっています。

この欄に,プログラムを貼ると,インデントが消えてしまいますので,上記のように
txtファイルにリンクを貼っています。

実際に,試してみようと思う方は,ダウンロードもできます。
ただし,拡張子をtxtにしてアップしてますので,これをjavaに変更後コンパイルしてください。

一応,動くプログラムは書いていますが,何分JAVA の素人ですので,お気づきの点がありましたら,
よろしくお願いします。
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.16 )
日時: 2013/10/22 07:35
名前: りり

何でも雑談に書かれたのを一部抜粋すると、

>プログラム的には,初期値を点灯(all 1)とすると,0の個数を数えれば事足ります。
>奇数のときは消灯,偶数のときは点灯です。初期値が消灯(all 0)なら,1の個数を数えます。
>元の問題は,スイッチが3個の話でしたが,これでスイッチ何個でも,同じプログラムが使えます。

ということで、プログラムに

System.out.print("スイッチの個数(半角数字)を入力してください。 : ");

という行がありますね。

こういう変数にすると、固定化したものより実用性が高くなりますよね。

後で、動画を載せますね。
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.17 )
日時: 2013/10/22 16:42
名前: りり

これは、おもしろいですね。LightSystem とSample20_1の二つのclassファイルができて動くんですね。

で、動画ですが、右、左と漢字で入れると時間も掛かり、動画のサイズが大きくなるので、
右はR、左はL 「R」or 「L」という風にして、入力は、RかLかの1文字にしてみました。

一度、もとのままで試したのですが、スイッチの個数が多くなると面倒みたいでしたので。

http://todos.xsrv.jp/uploader/upl/AGDRec20-2.wmv
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.18 )
日時: 2013/10/26 20:41
名前: o6asan

今週は,質問は出ないのでしょうか。週半ばで変則的に追加で質問があったので,出ないのかもしれませんね。

Sample20です。
http://o6asan.com/blog-j/files/JAVA/TODOS/Sample20.txt

Sample20_1とは違い,単純に8回それぞれの場合について,判定しています。この方法だと一般化は
できませんが,わかりやすいかもしれません。

ずっと,UTF-8でアップロードしてきたのですが,注釈文が日本語で入っていると,コンパイルするときに
エラーになることに気づきましたので,Shift_JISに戻しています。ブラウザで見たときに文字化けするようで
あれば,Shift_JISで読み込みなおしてください。

----------------------------------------------------------------------------------
動作確認は,jdk-7u40-nb-7_3_1-windows-i586.exeでやっています。

この欄に,プログラムを貼ると,インデントが消えてしまいますので,上記のように
txtファイルにリンクを貼っています。

実際に,試してみようと思う方は,ダウンロードもできます。
ただし,拡張子をtxtにしてアップしてますので,これをjavaに変更後コンパイルしてください。

一応,動くプログラムは書いていますが,何分JAVA の素人ですので,お気づきの点がありましたら,
よろしくお願いします。
メンテ
Re: o6asanさんのJAVAトライ・その20 ( No.19 )
日時: 2013/10/27 16:24
名前: りり

動画です。
http://todos.xsrv.jp/uploader/upl/AGDRec20.wmv

やはりo6asanさんが先に行った、いくつでもスイッチを増やせる方がおもしろいですね。
メンテ

*TODOS・何でも情報交換・TOP*<スレッドPage> 最新 | 2 | 1 |

楽しい交流と情報交換のTODOS・アップローダーも用意。ぜひTOPからもご覧ください。
ご参考になりましたら、お気軽に一筆お書き込みくださいませ。
題名 スレッドをトップへソート
名前
画像添付
JPEG
GIF
PNG



参照ボタンを押して、PCの画像を指定ください。3枚まで指定できます。縮小画像はクリックで拡大されます。
パスワード (好きなパスワードを。投稿後、右下のスパナマークをクリックし、そのパスワードを入れて修正できます。)
コメント

   クッキー保存
スレッドTOPへ***スレッド一覧