P299の 5番のサンプルプログラムを、
今、自分だったらこう書いてみるか〜
という 気分で お気楽に書いてみた。
🌟サンプルプログラム
import java.io.*;
class SamplePP4{
public static void main(String[] args){
MyPoint[] mp = new MyPoint[3];
for(int i=0; i<mp.length; i++){
mp[i] = new MyPoint( rnd(150)-25, rnd(150)-25 );
}
for(int i=0; i<mp.length; i++){
int ppx = input("point No," + (i+1) + "のx point を入力してください。");
int ppy = input("point No," + (i+1) + "のy point を入力してください。");
mp[i].setX(ppy, ppy);
}
for(int i=0; i<mp.length; i++){
System.out.println((i+1) + "番目のMyPoint " + mp[i].show());
}
}
public static int rnd(int max){ return(int)(Math.random()*max); }
public static int input(String txt){
System.out.print(txt);
String str = null;
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
try{
str = br.readLine();
}
catch(IOException e){
System.out.println(e);
}
try{
return Integer.parseInt(str);
}
catch(Exception e){
System.out.println("数値以外が入力されました。50を入力します。");
return 50;
}
}
}
class MyPoint{
static int count = 0;
private int x;
private int y;
public MyPoint(){
x = 0;
y = 0;
count++;
System.out.println("Point" + count + "の 初期設定を行いました x=" + this.x + " y=" + this.y);
}
public MyPoint(int px, int py){
this();
this.x = confi(px);
this.y = confi(py);
System.out.println("Point" + count + "の 再設定を行いました x=" + this.x + " y=" + this.y);
}
public void setX(int px){
this.x = confi(px);
}
public void setY(int py){
this.y = confi(py);
}
public void setX(int px, int py){ //メソッドのオーバーロード
this.x = confi(px);
this.y = confi(py);
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
public int confi(int num){
if(num>=0 && num<=100){
return num;
}
else{
System.out.println("範囲外の数値が入力されました。50を入力します。");
return 50;
}
}
public String show(){
return "x=" + this.x + " y=" + this.y;
}
}
今日の教訓
すごくゴチャゴチャしたものが完成。
0 件のコメント:
コメントを投稿