プログラミング備忘録

プログラムの勉強をしています。

if文の使い方

本に書いてあった問題を解いてみました。

public class Main {
	public static void main(String[] args) {
		int seibetsu = 0;
		int age = 5;

		System.out.println("こんにちは");

		if(seibetsu == 0) {
			System.out.println("私は男です。");
			System.out.println(age + "歳です。");
		}else {
			System.out.println("私は女です。");
		}

		System.out.println("よろしくおねがいします。");
	}

DB接続して、データを取り出してみました。

f:id:chabiribon:20171015212700p:plain

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Connect {

	public static void main(String[] args) {

		try {

			//jdbcドライバの登録
			String driver = "com.mysql.jdbc.Driver";

			//DBの指定
			String server = "localhost";
			String dbname = "test";
			String url = "jdbc:mysql://" + server + ":3306/" + dbname
			+ "?useUnicode=true&characterEncoding=EUC_JP";
			String user = "root";
			String password = "";
			Class.forName(driver);

			//DBとの接続
			Connection con = DriverManager.getConnection(url, user, password);

			//テーブル照会実行
			Statement stmt = con.createStatement();
			String sql = "select * from testtable";
			ResultSet rs = stmt.executeQuery(sql);

			//変数の宣言と初期化
			String NAME = null;
			int AGE = 0;

			//テーブル照会結果を出力
			while(rs.next()){

				NAME = rs.getString("NAME");
				AGE = rs.getInt("AGE");

				System.out.print("名前:" + NAME + "\t");
				System.out.println(AGE + "歳です。");

			}

			//DBのクローズ
			rs.close();
			stmt.close();
			con.close();

		}catch(SQLException e){

			System.err.println("データベース接続に失敗");
			e.printStackTrace();

		}catch(ClassNotFoundException ex){

			System.err.println("指定されたクラスが見つからない");
			ex.printStackTrace();

		}
	}

簡単占いのプログラムを組んでみました。

import java.io.IOException;
import java.util.Random;
import java.util.Scanner;

class Main {
	public static void main(String[] args) throws IOException{
		System.out.println("ようこそ占いの館へ");
		System.out.println("あなたの名前を入力してください");

		//文字入力呼び出し
		Scanner input = new Scanner(System.in);

		//名前の入力処理
		String name = input.next();

		System.out.println("あなたの年齢を入力してください");

		//年齢の入力処理
		String ageString = input.next();

		//int型に変換し、ageに代入
		int age = Integer.parseInt(ageString);

		Random rnd = new Random();

		//0~3までの乱数を生成
		int fortune = rnd.nextInt(4);

		System.out.println("占いの結果が出ました!");

		String fortune_final = null;

		switch(fortune) {
		case 0:fortune_final = "大吉";
		break;

		case 1:fortune_final = "中吉";
		break;

		case 2:fortune_final = "吉";
		break;

		case 3:fortune_final = "凶";
		break;
		}
	System.out.println(age + "歳の" + name + "さん、あなたの運気は" + fortune_final + "です");

	}

計算機のプログラムを組んでみました。

import java.util.InputMismatchException;
import java.util.Scanner;

//計算機の数字入力処理
class Number1 {

	public static int Judgment = 0;
	//aの宣言と初期化
	public static int a = 0;

	//数字を入力
	public static void main(String[] args) {


		//入力処理呼び出し
		Scanner scanner = new Scanner(System.in);

		//数値入力
		//例外処理
		try {

			System.out.println("数字を入力してください。");
			//入力処理
			//値が問題なければそのまま入力
			a = scanner.nextInt();
			Judgment = 1;

		}catch(InputMismatchException e){

			//文字列を入力した場合エラー処理
			System.out.println("文字ではなく、数字を入力してください。");

		}

	}
}

class Formula{

	public static void main(String[] args) {

		//式の値の変数
		double value = 0;
		double Number1 = 0;
		double Number2 = 0;

		//入力処理呼び出し
		Scanner scanner = new Scanner(System.in);

		//最初の数値
		Number1 c = new Number1();
		c.main(args);
		//値を格納
		Number1 = c.a;

		//次の数値
		if(c.Judgment == 1) {
			Number1 d = new Number1();
			d.main(args);
			//値を格納
			Number2 = d.a;

			//計算
			if(d.Judgment == 1) {
				System.out.println("入力した2つの数字を計算します。\n"
						+ "1→足し算/2→引き算/3→掛け算/4→割り算");
				//計算処理
				//計算
				try {

					System.out.println("数字を入力してください。");
					//入力処理
					//値が問題なければそのまま入力
					int x = scanner.nextInt();

					switch(x) {
						case 1:value = Number1 + Number2;
								String str1 = "値は" + value + "です。";
								System.out.println(str1);
						break;

						case 2:value = Number1 - Number2;
								String str2 = "値は" + value + "です。";
								System.out.println(str2);
						break;

						case 3:value = Number1 * Number2;
								String str3 = "値は" + value + "です。";
								System.out.println(str3);
						break;

						case 4:value = Number1 / Number2;
								String str4 = "値は" + value + "です。";
								System.out.println(str4);
						break;

						default:System.out.println("正しい数字を入力してください");
						break;
					}


				}catch(InputMismatchException e){

					//文字列を入力した場合エラー処理
					System.out.println("文字ではなく、数字を入力してください。");

				}
			}
		}
	}

名前と年齢を表示させる・年齢の文字列チェックもやってみました。

import java.util.InputMismatchException;
import java.util.Scanner;

class Age{
	//他のクラスで使うフィールドjudgment
	public static int Judgment = 0;

	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		int age = 0;

		//年齢入力
		//例外処理
		try {
			System.out.println("年齢を入力してください。");

			//入力処理
			//値が問題なければそのまま入力
			age = scanner.nextInt();

			System.out.println("あなたの年齢は" + age + "です。");

			//文字列無ければJudgmentに1を代入
			Judgment = 1;

		}catch(InputMismatchException e){

			//文字列を入力したらエラー処理
			System.out.println("ちゃんと数字を入れてください。");

		}
	}
}

class Name{
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		String name = null;

		//名前入力
		//例外処理
		try {
			System.out.println("名前を入力してください。");

			//入力処理
			//値が問題なければそのまま入力
			name = scanner.nextLine();

			System.out.println("あなたの名前は" + name + "です。");
		}catch(InputMismatchException e){

			//文字列を入力したらエラー処理
			System.out.println("ちゃんと名前を入れてください。");

		}
	}
}

class InputTest{
	public static void main(String[] args){

		Age o = new Age();
		o.main(args);

		//Judgmentが1ならば名前の入力処理Nameを実行
		if(Age.Judgment == 1) {
			Name p = new Name();
			p.main(args);
		}

	}
お仕事のご依頼はコチラまで。→chabiribon@ksh.biglobe.ne.jp
電話番号→044-571-2441