C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 厳しめにご指導をお願いします。


(過去ログ 134 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■79303 / inTopicNo.1)  厳しめにご指導をお願いします。
  
□投稿者/ javadb (4回)-(2016/03/20(Sun) 23:22:07)

分類:[.NET 全般] 

import java.sql.*;
import java.util.*;
public class JavaSQL {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
menyu me=new menyu();//メニューのインスタンス化
me.menyu1();//メニュー処理へ
}
}

class menyu{//メニュー表示クラス
SQL sl=new SQL();//一覧のインスタンス化
sinki si=new sinki();//新規入力のインスタンス化
int s;//項目選択の変数
void menyu1(){//メニュー表示
Scanner stdIn=new Scanner(System.in);
System.out.println("メニュー\n1:新規登録\n2:学生情報表示(個別)\n3:学生情報表示(一覧)\n4:終了");
System.out.print("項目を選択してください(半角入力):");
s=stdIn.nextInt();//項目選択
handan();//項目内容の判断
}
void handan(){//項目内容判断
sentaku se=new sentaku();//選択処理のインスタンス化
se.s2=s;//続ける際の判定
switch(s){
case 1://新規入力
si.sinki1();//新規入力の処理へ
se.sentaku1();//処理後の項目選択
break;
case 2://個別情報表示
sl.kobetu();//個別表示の処理へ
se.sentaku1();//処理後の項目選択
break;
case 3://一覧情報表示
sl.ichiran();//一覧表示の処理へ
se.sentaku1();//処理後の項目選択
break;
case 4://終了
System.out.println("プログラムを終了します。");//プログラム終了案内
break;
}
}
}

class sinki{//新規入力クラス
Scanner stdIn=new Scanner(System.in);
int gakuban;//学番
String name;//名前
int year;//年(西暦)
int month;//月
int day;//日
void sinki1(){//新規入力
System.out.print("学番を入力してください(半角入力):");
gakuban=stdIn.nextInt();//学番入力
System.out.print("氏名を入力してください:");
name=stdIn.next();//氏名入力
birthday();//生年月日入力
sinkiSQL();//新規入力SQL処理
}
void birthday(){//生年月日入力処理
System.out.print("生年月日を入力してください(半角入力)\n");
do{
System.out.print("年(西暦):");
year=stdIn.nextInt();
if(year<0){//紀元前入力になっていないか
check();
}
}while(year<0);
do{
System.out.print("月:");
month=stdIn.nextInt();
if(month>12 || month<1){//1月から12月までか
check();
}
}while(month>12 ||month<1);
while(true){
System.out.print("日:");
day=stdIn.nextInt();
if(month==2 && day<30){//2月判断
break;
}
//31日判断
if((month==1 || month==3 || month==5 ||month==7 ||month==8 || month==10 ||month==12) && day<32){
break;
}
//30日判断
if((month==4 || month==6 || month==9 ||month==11)&& day<31){
break;
}
check();
}
}
void check(){//入力ミスメッセージ
System.out.println("もう一度入力してください!");
}
void sinkiSQL(){//新規入力SQL
Connection con = null;
try {
// MySQLに接続
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass");
System.out.println("MySQLに接続できました。");
Statement stm = con.createStatement();
//同じ学番がないかのチェックSQL
String sql="select gakuban from gakusei where gakuban="+gakuban;
//SQL実行
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
int as=rs.getInt("gakuban");//習得した学番を変数に格納
if(gakuban==as){//入力した学番と習得した学番が一致するか
System.out.println("指定した学番は存在します!");
return;//登録せずに処理を抜ける
}
}
//新規入力SQL
sql="insert into gakusei values('"+gakuban+"','"+name+"','"+year+"-"+month+"-"+day+"')";
//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のクローズに失敗しました。");
}
}
}
}
}

class SQL{//SQLクラス
void kobetu(){//個別入力処理
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("指定した学番は存在しません");
}
} catch (SQLException e) {
System.out.println("MySQLに接続できませんでした。");
}finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
System.out.println("MySQLのクローズに失敗しました。");
}
}
}
}
void ichiran(){//一覧表示SQL
Connection con = null;
try {
// MySQLに接続
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/javadb", "workusr", "workpass");
System.out.println("MySQLに接続できました。");
Statement stm = con.createStatement();
//SQL文入力
String sql = "select gakuban,name,birthday from gakusei";
//SQLの実行
ResultSet rs = stm.executeQuery(sql);
System.out.println("gakuban\tname\tbirthday");
while(rs.next()){//検索結果があればtrue
//データ習得
String gakuban=rs.getString("gakuban");
String name=rs.getString("name");
String birthday=rs.getString("birthday");
//データ出力
System.out.println(gakuban+"\t"+name+"\t"+birthday);
}
} catch (SQLException e) {
System.out.println("MySQLに接続できませんでした。");
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {

引用返信 編集キー/
■79314 / inTopicNo.2)  Re[1]: 厳しめにご指導をお願いします。
□投稿者/ daive (90回)-(2016/03/21(Mon) 10:34:20)

プログラム内容
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 の方へは、回答されていていて、
こちらの、各スレへの回答が無いのは何故でしょうか?
もし、投稿した覚えが無いのであれば、
ウィルス等を疑ってください。

引用返信 編集キー/
■79315 / inTopicNo.3)  Re[2]: 厳しめにご指導をお願いします。
□投稿者/ 過去と同じようなこと (1回)-(2016/03/21(Mon) 11:20:44)
このあたりと展開されたこと(スレッドの連投による荒らし)と同じようなので無視でよいかと思います。
http://bbs.wankuma.com/index.cgi?page=20&KLOG=133

teratail と http://bbs.wankuma.com/index.cgi?mode=al2&namber=78462&KLOG=133 の内容は同一であることから。
当人の悪意、過失、あるいは愉快犯による嫌がらせのどれかでしょう。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -