質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

1回答

2145閲覧

厳しめにご指導をお願いします。2-2

ook

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2016/03/20 14:25

編集2016/03/20 14:47

System.out.println("MySQLのクローズに失敗しました。");
}
}
}
}
void kousin(){//更新処理
Connection con = null;
sinki si=new sinki();//新規入力のインスタンス化(生年月日入力処理を使うため)
try {
Scanner stdIn=new Scanner(System.in);
// MySQLに接続
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass");
System.out.println("MySQLに接続できました。");
Statement stm = con.createStatement();
System.out.print("更新する学生番号を選択してください(半角入力)\n番号:");
//更新する番号入力
int bangou=stdIn.nextInt();
//SQL文入力
String sql = "select gakuban,name,birthday from gakusei where gakuban="+bangou;
//SQLの実行
ResultSet rs = stm.executeQuery(sql);
if(rs.next()){//検索結果があるか
System.out.println("gakuban\tname\tbirthday");
//データ習得
String gakuban=rs.getString("gakuban");
String name=rs.getString("name");
String birthday=rs.getString("birthday");
//データ出力
System.out.println(gakuban+"\t"+name+"\t"+birthday);
}else{//なかったら抜ける
System.out.println("指定された学番は存在しません");
return;
}
System.out.print("更新後のデータを入力してください(数値は半角入力)\n学番:");
//更新後の番号入力
int gakuban=stdIn.nextInt();
System.out.print("名前:");
//更新後の名前入力
String name=stdIn.next();
//更新後の生年月日入力
si.birthday();
//更新SQL文入力
sql="update gakusei set gakuban='"+gakuban+"',name='"+name+"',birthday='"+si.year+"-"+si.month+"-"+si.day+"' where gakuban="+bangou;
//SQL実行
int result=stm.executeUpdate(sql);
//実行完了メッセージ
System.out.println("更新されました");
} catch (SQLException e) {
System.out.println("MySQLに接続できませんでした。");
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
System.out.println("MySQLのクローズに失敗しました。");
}
}
}
}
void sakzyo(){//削除クラス
Connection con = null;
try {
Scanner stdIn=new Scanner(System.in);
// MySQLに接続
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass");
System.out.println("MySQLに接続できました。");
Statement stm = con.createStatement();
System.out.print("削除する学生番号を選択してください(半角入力)\n番号:");
//削除する番号入力
int bangou=stdIn.nextInt();
//SQL文入力
String sql = "select gakuban,name,birthday from gakusei where gakuban="+bangou;
//SQLの実行
ResultSet rs = stm.executeQuery(sql);
if(rs.next()){//検索結果があるか
System.out.println("gakuban\tname\tbirthday");
//データ習得
String gakuban=rs.getString("gakuban");
String name=rs.getString("name");
String birthday=rs.getString("birthday");
//データ出力
System.out.println(gakuban+"\t"+name+"\t"+birthday);
}else{//なかったら抜ける
System.out.println("指定された学番は存在しません");
return;
}
System.out.print("このデータを削除しますか?(半角入力)\nYES:1 NO:2\n入力:");
//そのデータを削除するか入力
int k=stdIn.nextInt();
if(k==1){//削除する場合
//削除SQL文入力
sql = "delete from gakusei where gakuban='"+bangou+"'";
//SQL実行
int result=stm.executeUpdate(sql);
System.out.println("削除されました");
}else{// 削除しない場合
System.out.println("削除されませんでした");
}
} catch (SQLException e) {
System.out.println("MySQLに接続できませんでした。");
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
System.out.println("MySQLのクローズに失敗しました。");
}
}
}
}
}

class sentaku{//プログラム処理後判断クラス
Scanner stdIn=new Scanner(System.in);
int s;//機能入力の判定
int s2;//続ける処理の判定
SQL sl=new SQL();//SQLクラスのインスタンス化
menyu me=new menyu();//メニュークラスのインスタンス化
sinki si=new sinki();//新規入力のインスタンス化
void sentaku1(){//プログラム処理後判断
System.out.println("機能を選択してください\n1:更新\t2:削除\t3:続ける\t4:メニュー\t5:終了");
System.out.print("入力(半角入力):");
s=stdIn.nextInt();//機能入力
switch(s){
case 1://更新
s2=4;//更新を続けるときのフラグ
sl.kousin();//更新処理
sentaku1();//処理後の項目選択
break;
case 2://削除
s2=5;//削除を続けるときのフラグ
sl.sakzyo();//削除処理
sentaku1();//処理後の項目選択
break;
case 3://続ける
switch(s2){//メニューで選択した項目を続ける
case 1://新規入力を続ける
si.sinki1();
break;
case 2://個別表示を続ける
sl.kobetu();
break;
case 3://一覧表示を続ける
sl.ichiran();
break;
case 4://更新を続ける
sl.kousin();
break;
case 5://削除を続ける
sl.sakzyo();
break;
}
//再び一覧表示
sentaku1();
break;
case 4://メニュー
me.menyu1();//メニューへ戻る
break;
case 5://終了
System.out.println("プログラムを終了します。");//プログラム終了案内
break;
}
}
}

プログラムの内容を改善したいので厳し目で指摘、指導をお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sekitaka_1214

2016/03/20 14:27

質問の内容は何でしょうか。
guest

回答1

0


プログラム内容
http://bbs.wankuma.com/index.cgi?mode=al2&namber=79271
プログラムを改善したいので厳しい目で指導してください。前半
http://bbs.wankuma.com/index.cgi?mode=al2&namber=79265
厳しめでご指導してください 後半
http://bbs.wankuma.com/index.cgi?mode=al2&namber=79266

https://teratail.com/users/ook#question

厳しめにご指導をお願いします。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=79303
http://bbs.wankuma.com/index.cgi?mode=al2&namber=79304

投稿者/ WebSurfer (872回)-(2016/03/19(Sat) 09:49:01)
マルチポストのようですので、他のポスト先の URL を貼っておきます
http://qa.atmarkit.co.jp/q/9863
http://qa.atmarkit.co.jp/q/9862


と、何が違うのでしょうか?
似たようなスレ立てを、複数すると、見難くなるので、
止めてもらえませんか?

teratail の方へは、回答されていていて、
Wankumaの掲示板へは、投稿を繰り返すだけで、
各スレへの回答が無いのは何故でしょうか?
もし、投稿した覚えが無いのであれば、
ウィルス等を疑ってください。

投稿2016/03/21 01:35

daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問