B3/ソフトウェア工学
ソフトウェア工学の質問&回答集 †
更新履歴 †
- 第2回分を反映.お願いにメールの書き方を追記. -- 中村?
- 第3回分を反映 --
- 第4回分を反映 --
- 第5回分を反映 --
- 第6回分を反映 --
- 第7回分を反映 --
- 第8回分を反映 --
- 第9,10回分を反映 --
- 第9,10回分を修正 --
お願い †
- 全ての課題の提出状況を再確認してください
- 成果物を添付していますか?
- 正しいpdfですか?正しいzipですか?中身も今一度確認してください。
- zipで圧縮していますか?ファイル名は間違っていませんか?
- 送信済みメールを再確認してください
- 成績の大半は課題で決まってしまうので,きちんと全部出してください.
- 「第N回を提出したのに反映されていません,確認してください」といったメールが多いです.まずは自分のメールを見直してください.
- 宛先,件名,添付ファイルなどなど.
- 原因がわかったら,必ず再送してください.
- メールおよび課題は誰が見ても恥ずかしくないように書いてください.(TAより)
- 以下のメールの書き方を参考にしてください.
- 本文に「簡単でした.」だけ書く人に対して,あまり良い印象を持ちません.TAもメールを見ますし,中村先生にも失礼です.
- 課題の出力について(println("学生を追加しました");など)は自由ですが,機能が分かるように,不快な表現はしないように
- 出席に関して,「遠隔講義に関するトラブルのため,接続できなかった場合はこの限りではない.」についての遅刻の際の連絡先について
改善点 †
質問 †
2021/04/26 †
- sysoutでspace+Ctrlを押してもSystem.out.println()が出ない
- 上のメニューバーから,ウィンドウ→設定→Java→エディターと行ってください
- コンテンツアシスタントの拡張設定や,テンプレートのところでsysoutにチェックが入っているか確認してください
- 二つのzipファイルを一つに圧縮すると開けなくなる
- zipとzipを圧縮したものはzipになっていると思いますので,段階的に解凍していってください
- zipを解凍すれば元の圧縮した二つのzipが出てきます
- 出てきたzipをさらに解凍してください
2020/06/15 †
- 文字が線に重なる
- pdf出力時に文字がずれてしまう
- pdf1ページで出力できる範囲が限られているので、ずれが発生する可能性があります。
- 読めれば成績には加味しないので、気にしないでください。不安であれば、pdfとともにスクリーンショットも添付してください。
- Visual Paradigm Onlineでやりたいことができない、使いにくい、他のを使いたい
- 公式ドキュメントがきちんと用意されていますので、詳しくはそちらを読んでください。
- 課題に関しては、授業の説明、課題ページ、補助資料で完成できます。
- (第8回など)javadoc込みのjar,zipファイルが送れない
- javadocはjarファイルに含める必要はありません(自由に決めてください)。成績に影響しませんし、再提出の必要もありません
- 必要に応じて、採点時にこちらでjavadocを生成します。
javadocに付属するjavascriptファイルが原因で、メール送信できないときがあります。
該当者は、googleドライブ、ファイル共有アプリを利用してください
成績が出る(9月ごろ)まで、ファイルが閲覧できるようにすること
2020/06/04 †
- アスキーアートが崩れるので,Mac環境でも等幅フォントが使いたい
- エディタ画面上で右クリック→設定
- 講義資料と同様の手順でコンソールのフォント設定画面へ
- 「等幅」の中から「Osaka」を選択
- toString()の使い道 -LineやBoxのtoStringは何を実装するか
- 第5回資料「メソッドtoString() の作成」を参照
- インスタンスの状態を確認するために利用します
- Lineであれば「直線 長さ:10」と出力する.Boxであれば,「箱 幅:10 高さ:5」など
- そのインスタンスが何か,変数の値がいくつか出力してみる
2020/06/01 †
- タブの間隔が一定に表示されません。(04256)
- 水平タブ(\t)の仕様です
- (Eclipseの標準設定であれば)半角空白を1-8個利用して,表示の先頭を合わせようとしている
- 名前が長いStudentが入ると,どうしてもズレてしまう.SYstem.out.formatを利用して表示数を制限するか,諦めます.
2020/05/28 †
2020/05/25 †
- 0.0 / 0.0 の結果がNaNとなり,処理できない
- 「ソースリーク:’pw'が閉じられることはありません」
- 以下の同様の質問,実行できるなら特に気にしなくても構いません
5/21(木) †
- スプレッドシートにアクセスできません,書き込めません
- 同時接続が多いと,閲覧専用ページに飛ばされる時があります.
- 少し待ってから,元のURLにアクセスしてみてください.
- csvのダウンロード時にtxtファイルに変換されてしまい、プログラムもそれに合わせて実装しました。大丈夫でしょうか?
- プログラムが正しく動作し、提出時にtxtファイルも一緒に提出してくだされば、それでも問題はありません。
- PrintWriter?のインスタンスpwにリソース・リークの警告が出る
- ListにString型を追加することができない
- 第2,3回を復習してみてください
//int型を追加するリスト
ArrayList<Integer> list = new ArrayList<Integer>();
//String型を追加するリスト
ArrayList<String> list = new ArrayList<String>();
//キーをString型にして,Person型の値を持つマップ
HashMap<String, Person> map = new HashMap<String, Person>();
- ファイルが読み込めない
- java.io.FileNotFoundException?: *** (指定されたファイルが見つかりません。)
- 対象のファイルをプロジェクト直下に配置していますか?
- srcの中ではありません,第3回講義のVideo 46:40ごろを参照してください.
5/18(月) †
- 課題提出の際,main.javaも提出しますか?
- プログラムの実行に必要な全ての.javaファイルを提出してください
- サンプルプログラムやネットの似た方法をコピペ・修正して用いること大丈夫でしょうか?(コード盗用にかからないか)
- 書籍やネットの情報も活用してください.ただし,コピペで満足せず,理解して使ってください.
- コードクローン検出技術はもっと高度です,引っかかりません.
- 「メイン型が含まれません」となりエラーになる
- module-info.javaを削除してください.
- 第3回発展課題にて,「ソースリーク:’pw'が閉じられることはありません」と注意みたいなものが出てきました
- PrintWriter?クラスやファイルを扱うものは,利用後はcloseします.
- 明示的にリソースをメモリ上から解放するため.閉じないと内容が反映されないなどエラーの元になります.
- 課題提出後,クラスの名前が違っているためコンパイルできないことに気づきました.再提出した方がよいですか?
- 提出前にコンパイルできるか確認してください.再提出してください.
5/14(木) †
- "String labCode = ... ; の"..."はどういった意味なんでしょうか?
- 省略の意味なので実際に"..."を入力するというわけではないです.
- 読み込んだテキストファイルの文字を出力したら文字化けしました
- 第三回の授業の(発展)の方法か文字コードをutf-8にしたものを読み込んで下さい
- javaファイルを圧縮しなければならないところをclassファイルを圧縮して提出してしまっていました。
- 提出する課題の圧縮前のjavaファイルの名前は何でもいいですか?
- javaファイルの名前(=クラス名)は今のところ何でもいいです.クラス名のつけ方は第5回の命名規則のところで勉強します.
- 問2で、フィールドでStringの配列を作成した際にString[] word = new String[3];とし、各単語をword[0],word[1],,,に格納させるようにしたところ、単語ごとに分けたときに4つ以上になってもword[3],word[4],,,にエラーが出ることなく格納されていたんですけどなぜでしょうか。word.lengthは、最初に指定した文字(今回は3)ではなく、単語数に一致していました。
- line.split(...)を実行した際に,その時点で配列が新しく生成されるためです.
String line = "aaa,bbb,ccc,ddd,eee"; //コンマ区切り文字列
String [] word = new String[3]; //wordはサイズ3の配列への参照(ポインタ)
word = line.split(","); //この時点で右辺で新しくサイズ5の配列が生成され,wordは新しい配列を指すようになる
- Arrays.sortでsortする時、キーボード入力で入力された単語がひらがなや漢字であり、全角のコンマ("、")で区切られたとき上手く辞書順にならなかったのですが、どうすれば良かったのでしょうか?
- 全角のコンマは問題にある,ではないので,仕様に入っていません.対応しなくてよいです.
- Jouchi j = new Jouchi;において、なぜjという変数名を用いているのでしょうか。
- 変数名はj以外でもなんでもいいです. Jouchi jouchi = new Jouchi(); としたほうがわかりやすければそうしてください.
- 変数名のつけ方は第5回の命名規則のところで勉強します.
- import java.util.Collections とはどういう意味でしょうか?
- Collectionsという(外部にある)Javaのクラスライブラリを,現在のクラスで使いますよという宣言です.第8回で詳しくやります.
- Eclipseを開くとパソコンが止まってしまうようになりました。現在はhttps://repl.it/を用いて課題のプログラムを作成しています。
- 課題のプログラムがクラウド内で消失しないよう,こまめにローカルにバックアップしてください.
- 計算結果がNaNとなる場合のエラー処理をうまく実装できませんでした。
- NaN は Not a Number の意味です.数値だと思って処理しようとしたができなかった場合,そのような値になります.
- キーボードから読み込んだ文字列の読み取り方とその格納の仕方が理解できなかったので,課題ではScannerを調べて使用した.
- BufferedReader?の書き方については今はおまじないだと思っておいてかまいません.
- Scannerについても使用してかまいません.
- 問2のソースコードはどうすれば入力したら「入出力例外」が出るかがわかりません。いつも、「フォーマット例外」しか出ていませんでした。
- 入出力例外とは入出力の処理そのものが何らかの理由で失敗したときに返される例外です.
- 例として入出力処理中に別の処理が割り込んで最後まで入出力処理を行えなかった場合などがあります.
- 例えば,br.readLine(); の直前に,br.close(); を入れてみてください.入出力ができなくなって,IOExceptionが出ると思います.
- 問2で、実数を入力するときに数字を全角で入力するとint型には変換できるのにdouble型には変換できないのがよくわかりませんでした。
- 前回の質問にもありますが,全角のピリオドがダメみたいです.詳しくは前回の質問のリンクを参照してください.
- 課題提出の際,zipファイルの命名規則は理解できたがソースコードの命名がよくわからない.
- 特に指定がない限り,きちんと動作するならソースコードにはどんな名前を付けてくださってもかまいません.
5/11(火) †
- Javaバージョンと JDK バージョンを教えてください.
- 基本的には好きなバージョンを使ってもらって構いません.開発環境もVSCodeなど他を利用して構いません.
- Pleiadesに付随するeclipse及びJavaを推奨しています
- 提出の有無がわからない
- 講義資料の講義スケジュールを記載しているところに,提出確認のページがあります.Ctrl+Fで探してみてください.
- 採点はすぐにするわけではありません.納得いかない出来であれば,再提出してもOKです.
- メールアドレスに指定はありますか(学番メール以外で提出したい)
- コメントは英語でも大丈夫ですか?
- 大丈夫です.Writing in English is also accepted.
- "Hello.java"の部分を"Hallo.java"に間違えてしまい、直そうとしましたが、ファイル名の変更方法がわかりません
- 右クリック→リファクタリングで変更してみてください.関連する箇所が一気に変わります.
- zipファイルの圧縮方法を教えていただけないでしょうか。
- グーグルで検索
- (Windows)右クリック→圧縮フォルダ(zip)
- Integer.parseInt()では、全角数字を入力してもint型に変換できたのですが、Double.parseDouble()では、全角数字を入力するとcatch
(NumberFormatException? e)に飛びます。何が違うのでしょうか?
- このあたり,APIドキュメントを読まないとわかりません.
- そもそも全角が通るのが不思議ですね.
- 例外処理で,間違ったら再入力するルーチンができませんでした
- whileがないとできません.第2回の講義で説明します
|