プログラミング言語Java
立っているbitの数を取得する public class CheckBit { public static int CheckBitCount(Integer n) { int Counter=0; for(int j=0;j<Integer.SIZE;j++){ Counter += (n & 1); n = n >>> 1; } return Counter; } public static void main(String[] args) { System.out.printf("%31sの1の数は:%d\n", Integ</integer.size;j++){>…
無限大の計算 public class Infinity { public static void main(String[] args) { Double pi = Double.POSITIVE_INFINITY; Double ni = Double.NEGATIVE_INFINITY; System.out.println("∞ + ∞ = " + (pi + pi)); System.out.println("∞ + -∞ = " + (pi + ni…
public class PascalsTriangle { private int pascal[][]; public PascalsTriangle(int num) { pascal = new int[num][]; for(int i=0,j=0;i
public class ConvertType { public static void main(String[] args) { int tmpi=0; long tmpl=0; byte maxByte = 127; byte miniByte = -128; short maxShort = 32767; short miniShort = -32768; int maxInt = 2147483647; int miniInt = -2147483648; lo…
public static void main(String[] args) { System.out.println("\u0048\u0045\u004c\u004c\u004f \u0057\u004f\u0052\u004c\u0044"); }
単純に色を返せば良いだけなので、この場合は定数固有のメソッドを使用する必要は無いんじゃないかと思う。 enum Color { GREEN("GREEN"){ String getColor(){ return this.name; } }, YELLOW("YELLOW"){ String getColor(){ return this.name; } }, RED("RE…
enum Color { GREEN("GREEN"), YELLOW("YELLOW"), RED("RED"); String name; Color(String name){ this.name = name; } abstract String getColor(){ return this.name; } }
public class Vehicle implements Cloneable{ enum Turn{LEFT,RIGHT} private double speed; private double angle; private String owner; private long VehicleID; private static long NextVehicleID=0; private EnergySource es; Vehicle(){ VehicleID =…
public enum Week { SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY } enum Color { GREEN,YELLOW,RED }
非常に美しくない>< History内部クラスでのAccountの持ち方は、Listとかで持った方が良いのだろうか??10件しか持ってはいけないという事だったので配列で処理してみたけどなんかしっくりこない。。 BankAccount.java public class BankAccount { private…
AttributedインタフェースはAttrクラスに対する操作を定義しているため、AttrクラスがAttributedクラスのネストした型であるべき。
う〜ん、ちょっとわからない>< インタフェースは多重継承ができる/抽象クラス・具象クラスは単一継承 インタフェースは実装を含まない/抽象クラスは一部実装を含む事ができる インタフェースはpublicなメンバしか持てない/抽象クラスはpublic以外も良い…
(a)N分木のノードを表すTreeNode:抽象クラス (b)特定の順番で木を探索するTreeWalker:インタフェース (c)グラフィックシステムにより描画可能なオブジェクトのためのDrawable:インタフェース (d)グラフィックデスクトップから実行できるプログラムのため…
コレクションクラス階層を設計する問題 Set List Queue が Collection をimplementしている様子を書けば良いのだろうか。java.utilクラスにあるものそのままってことかな
以前にやったLinkedListクラスをinterfaceを使って書き直す問題。 LinkedList.java public interface LinkedList<E> { void show(); String toString(); Object getObj(); void setObj(Object Obj); E getNextNode(); void setNextNode(E nextNode); int countL</e>…
SortHarnessのabstractをinterfaceに変えるのかな??いや、それはおかしいか。。 ん、、、SortHarnessとSortHarnessObjImplみたいにするって事かな。そうするとSortHarnessDoubleImplって感じで出来るとか。
これは abstract を interface にして、インタフェースを使うクラスでimplementsにしたらおkだな。
やっと分かった。Object型の比較は、Comparable型にキャストしてcompareToを使ってやれば良いって事かな public abstract class SortHarness { private Object[] values; private final SortMetrics curMetrics = new SortMetrics(); private boolean callSo…
単一継承 クラスは一つのスーパークラスのみ継承する 多重継承 2つ以上のスーパークラスを持つ Javaは単一継承のみサポートし、多重継承の型付けの恩恵を得るためインタフェース継承をサポート
う〜ん、分からない。Object同士の比較をどうして、順序をどうやって表せばいいんだ??
SortDoubleのセキュリティホールを見つけろという問題。 何か小細工感があるけど、一度ソートした後、サブクラスから親クラスのsortメソッドを空で呼んで、Metricsを0に。こんな感じで↓ public class SimpleSortDouble extends SortDouble{ private boolean …
publicなインタフェースは使用するため protectedなインタフェースは拡張するため 3.11.1 拡張可能なフレームワークの設計 拡張したクラスを信頼しない 全てのabstrucrでないメソッドはfinalに getMatricsでメトリックスデータをclone →参照を得ない事で内部…
う〜ん、わからん。。。 多分こうじゃないんだろうけど、とりあえず出来たところまで;; 1つのリストに対する変更は、他方のリストには影響しないが、リストが参照しているオブジェクトに対する変更は、他方のリストから見えます。 ↑これをどうすれば良いか…
import java.util.*; public class Garage implements Cloneable{ private ArrayList<Vehicle> vehicleList = new ArrayList<Vehicle>(); public Garage(){} public void addVehicle(Vehicle vcObj){ vehicleList.add(vcObj); } public ArrayList<Vehicle> getGarage(){return vehicleLi</vehicle></vehicle></vehicle>…
Vehicle.java public class Vehicle implements Cloneable{ public static final int TURN_LEFT=0; public static final int TURN_RIGHT=1; private double speed; //速度 private double angle; //方向 private String owner; //所有 private long VehicleI…
3.9.1 複製に対する戦略 Clonableインタフェースを実装 → implements Cloneable cloneさせない → CloneNotSupportedExceptionをスローする cloneメソッド実装の4つの方法 3.9.2 正しい複製 間違った複製 共有すべきでないオブジェクトがある時にObjectクラス…
ColorAttr.java public class ColorAttr extends Attr{ private ScreenColor myColor; public ColorAttr(String name, Object value){ super(name, value); decodeColor(); } public ColorAttr(String name){ this(name,"transparent"); } public ColorAttr(…
Vehicle PassengerVehicle 問い:もし、あるとしたら、VehicleとPassengerVehicleのどのメソッドをfinalにするのが適切ですか? 答え:PassengerVehicleのsetSeatNumber。車の座席数の指定方法は不変であると考えられるから、オーバーライドさせないようにす…
Vehicle.java(抜粋) public class Vehicle { private long VehicleID; //車単位のID private static long NextVehicleID=0; //次の乗り物の識別番号 private EnergySource es; //コンストラクタ Vehicle(){ VehicleID = NextVehicleID; NextVehicleID++; }…
public class MethodBenchmark extends Benchmark{ private int loopCounter; public MethodBenchmark(int loopCounter) { this.loopCounter = loopCounter; } void benchmark(){ for(int i = 0; i < loopCounter; i++){} } public static void main(String[…