忍者ブログ

備忘録

プログラミング(javaメイン)とか吉里吉里/tjs2とかの備忘録。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Stringが数値のみか判定

年齢入力など、Stringが数値のみで構成されているかを判定するには、Integer.parseInt()を行う。
数値以外が含まれている場合は(NumberFormatException)が発生することを利用する。
try内でInteger.parseInt()を実行し、数値のみの場合の処理を続けて書く。
また、catch((NumberFormatException e)内で数値以外が含まれている場合の処理を書く。

try(){
Integer.parseInt(STRING);
//---数値のみの場合の処理---
}catch((NumberFormatException e){
//---数値以外が含まれる場合の処理---
}


PR

Eclipseの動的WebプロジェクトからMySQLを呼び出す

  1. あらかじめMySQLにデータベースとテーブルを作成しておく(仮データとして、userIDを持つテーブルを定義する)
  2. Eclipseで「動的Webプロジェクト」を作成
  3. JDBC(mysql-connector...)をWebContent/WEB-INF/libに入れる
  4. WebContent/META-INFにcontent.xmlを作成(ソース1)
  5. WebContent内にindex.jspを作成、編集(ソース2)
  6. 実行してTomcatを起動、確認
以下ソース
  • (1) content.xml : データベース名、ユーザ名、パスワードは適宜変更
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/JNDI" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/"データーベース名"?autoReconnect=true"
username="ユーザ名" password="パスワード" />
</Context>
  • (2)index.jsp : 同様にデータベース名、ユーザ名、パスワード、テーブル名は適宜変更
<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"
    import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>Insert title here</title>
</head>
<body>
<%
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
 
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/データベース名", "ユーザ名", "パスワード");
 
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT userID from テーブル名");
while (rs.next()) {
out.println("-------------------------------<br>");
out.println("userID     : " + rs.getString("userID") + "<br>");
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
 
}
%>
</body>
</html>

Javaのgetterとsetter、プロパティ

最近他言語を使うことが多く、久しぶりにJavaに戻ってきた。
ある変数に対してsetterとgetterが必要だったがプロパティの書き方を忘れたのでggったら、
Javaにはプロパティ構文が無いということを思い出した。

Javaに慣れている人にとっては超基本的なことだが、すっかり忘れていた。
安全な設計をするならフィールドをprivateにしてsetter/getterで値にアクセスするべきだが、
正直ソースはかなり見難くなる。
個人レベルの趣味プログラミングなら、フィールドをpublicにしてもいいかもしれない。

変数(文字列)からクラスを指定

文字列変数からクラスを指定し、クラス作成やメソッド呼び出しをする方法。
文字列変数の後に ! を付けることで、そのクラスを対象とすることができる。

(例)
className という名前のクラスの isReadyメソッドを呼び出す
※isReady()は静的呼び出しが可能であること

var cn = "className";

var flg = cn!.isReady();



Stringに含まれる文字数をカウント

Stringに含まれている文字の数をカウント。
それっぽいメソッドが無かったため適当にコード書いたけど、
たぶんもっといい方法がある気がする。
(split()で配列作ってlengthを返すとか……もっとダメか)


public static int getColonNum(String input) {
	int p = -1;
	int n = 0;
	while (true) {
		p = input.indexOf(":", p + 1);
		if (p == -1)
			break;
		n++;
	}
	return n;
}
        
  • 1
  • 2

フリーエリア

プロフィール

HN:
m12
性別:
男性
自己紹介:
SG直アンのパンクロッカー 兼 日曜プログラマ。

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

最新コメント

バーコード

ブログ内検索

P R

忍者アナライズ