FC2ブログ

天地有情

[program] Javaプログラムの簡単なサンプル

§1 はじめに

Java関連はネットで検索すれば,いろいろな情報が得られるため,その辺は割愛し,
このブログでは以下のサンプルのみを取り扱います.何かの助けになれば幸甚です.

§2 サンプル

以下のサンプルに示すJavaソースファイルの文字コードは utf-8 です.
コンパイルと実行は次のように行います.

【コンパイル】  javac -encoding utf-8 foo.java

【実行】     java foo
 
 

(サンプル1)「今日の日付け」を表示する

===================================================================
// FileName: Hdate.java
// encoding: utf-8
//
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
//
public class Hdate extends Frame{
public Hdate(){
this.setSize(400,300);
this.setBackground(Color.yellow);
Label l1=new Label();
l1.setFont(new Font("Serif",Font.BOLD,32));
this.add(l1,BorderLayout.CENTER);
Calendar c1=new GregorianCalendar();
SimpleDateFormat df=new SimpleDateFormat("Gyyyy年MM月dd日(E)");
l1.setText(df.format(c1.getTime()));
this.setVisible(true);
//
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//
}
//
public static void main(String[] args){
new Hdate();
}
}
===================================================================

【結果】

Java01-Hdate.png


 
 
 

(サンプル2)画像を貼り付ける

====================================================================
// FileName: Himage.java
// encoding: utf-8
//
import java.awt.*;
import java.awt.event.*;
import java.awt.Image.*;
//
public class Himage extends Frame{
Image img=null;
public Himage(){ //コンストラクタ生成
this.setSize(300,300);
this.setBackground(Color.yellow);
Toolkit tk=Toolkit.getDefaultToolkit();
img=tk.getImage("asagao.gif");
this.setVisible(true);
//
this.addWindowListener(new WindowAdapter(){ //ウインドウを閉じるイベント
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//
}
/////
public void paint(Graphics g){
g.drawImage(img,50,50,this);
}
/////
public static void main(String[] args){
new Himage(); //インスタンス生成
}
}
====================================================================


【結果】

Java02-Himage.png


 
 
 

(サンプル3)フォントの活用

====================================================================
// FileName: Hfont.java
// encoding: utf-8
//
import java.awt.*;
import java.awt.event.*;
//
public class Hfont extends Frame{
public Hfont(){
super();
this.setSize(300,300);
this.setForeground(Color.red);
this.setFont(new Font("あくあフォント",Font.PLAIN ,32));
this.setVisible(true);
//
this.addWindowListener(new WindowAdapter(){ //ウインドウを閉じるイベント
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//
}
//
public void paint(Graphics g){
g.drawString("Hello,World",50,100);
g.drawString("吾輩は猫である",50,200);
}
//
public static void main(String[] args){
new Hfont();
}
}
====================================================================

【結果】

Java03-Hfont.png


 
 
 

(サンプル4)図形を描く

====================================================================
// FileName: Hgraphics.java
// encoding: utf-8
//
import java.awt.*;
import java.awt.event.*;
//
public class Hgraphics extends Frame{

public Hgraphics(){
this.setSize(500,500);
this.setBackground(Color.blue);
this.setFont(new Font("HG創英角ゴシック",Font.PLAIN ,24));
this.setVisible(true);
//
this.addWindowListener(new WindowAdapter(){ //ウインドウを閉じるイベント
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//
}
//
public void paint(Graphics g){
g.setColor(new Color(0x00ff00));
g.drawString("図形を描く",200,60);
g.drawRect(10,100,200,200);
//g.setColor(Color.red);
g.fillRect(20,150,200,200);
//g.setColor(Color.green);
g.drawLine(30,200,300,300);
g.setColor(Color.red);
g.fillOval(250,250,200,200);
}
//
public static void main(String[] args){
new Hgraphics();
}
}
====================================================================

【結果】

Java04-Hgraphics.png


 
 
 

(サンプル5)抽象クラスと継承

Java05-診断.png


====================================================================
// FileName: 診断.java
// encoding: utf-8
//
abstract class 患者{
double 体温;
String 湿疹;
int 投薬回数;
String 投薬;
String 病名;
abstract void report();
}
//
public class 診断 extends 患者{
public void report(){}
public static void main(String[] args){
//
診断[] hm=new 診断[2] ;
hm[0]=new 太郎();
hm[1]=new 花子();
for(int i=0;i<2;i++){
hm[i].report();
}
}
}
//
class 太郎 extends 診断{
public 太郎(){
super();
体温=39.0;
湿疹="有り";
投薬回数=0;
投薬=null;
病名=null;
}
public void report(){
if(体温>=38.0 && 湿疹=="有り"){病名="はしか";}
//
if(病名=="はしか"){投薬="ペニシリン";}
//
if(投薬=="ペニシリン"){投薬回数=3;}
//
System.out.println("\t名前:"+"太郎"+"\n\t体温:"+Double.toString(体温)+
"\n\t病名:"+病名+"\n\t投薬:"+投薬+
"\n\t投薬回数:"+Integer.toString(投薬回数)+"\n");
}
}
//
class 花子 extends 診断{
public 花子(){
super();
体温=37.0;
湿疹="無し";
投薬回数=0;
投薬=null;
病名=null;
}
public void report(){
if(体温<=37.0 && 湿疹=="無し"){病名="健康";}
//
if(病名=="健康"){投薬="不要";}
//
if(投薬=="不要"){投薬回数=0;}
//
System.out.println("\t名前:"+"花子"+"\n\t体温:"+Double.toString(体温)+
"\n\t病名:"+病名+"\n\t投薬:"+投薬+
"\n\t投薬回数:"+Integer.toString(投薬回数)+"\n");
}
}
====================================================================


【結果】

C:\Users\xxx\Desktop> javac -encoding utf-8 診断.java
           (この操作で 患者.class, 診断.class, 太郎.class, 花子.class が生成される)
C:\Users\xxx\Desktop> java 診断
           (以下のような結果がコンソール画面に表示される)
 
名前:太郎
体温:39.0
病名:はしか
投薬:ペニシリン
投薬回数:3

名前:花子
体温:37.0
病名:健康
投薬:不要
投薬回数:0


(EOF)

スポンサーサイト
  1. 2018/09/11(火) 08:39:02|
  2. Program