質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

3回答

1659閲覧

java 進数

fewfes

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/01/18 05:22

javaです

「数」を表すNumberクラスを考える。Numberクラスを基底クラスとして定義し、整数に対し2進数、8進数、10進数、16進数の文字列を返すメソッドをもつ派生クラス(BinaryNumberOctalNumber、DecimalNumber、HexNumber)を作成しなさい。
派生クラスでtoStringメソッドをオーバライドして、文字列を返すように作る。
また進数変換はIntegerクラスのメソッドにあるtoBinaryString()、toOctalString()、toString()、toHexString()を利用すれば良い。
下記の5ファイルを作成する。
・NumberTester.java:mainメソッドのクラス
・Number.java:数クラス(基底クラス)
・BinaryNumber.java:2進数のクラス(派生クラス)
・OctalNumber.java:8進数のクラス(派生クラス)
・DecimalNumber.java:10進数のクラス(派生クラス)
・HexNumber.java:16進数のクラス
(派生クラス)
■Numberクラス
・フィールド
◯int num;:数
・メソッド◯Number(int n)
:コンストラクタ(n=数)
◯String toString()
:数を返す(派生クラスでオーバーライドされるため意味のない値(null)を返せば良い)
■BinaryNumberクラス
・メソッド
◯BinaryNumber(intn)
:コンストラクタ(n=数)super(n);を呼ぶ
◯String toString():2進数の文字列を返す
■OctalNumberクラス
・メソッド
◯OctalNumber(intn)
:コンストラクタ(n=数)super(n);を呼ぶ
◯String toString():8進数の文字列を返す
■DecimalNumberクラス
・メソッド
◯DecimalNumber(intn):コンストラクタ(n=数)super(n);を呼ぶ
◯String toString():10進数の文字列を返す
■HexNumberクラス
・メソッド
◯HexNumber(intn):コンストラクタ(n=数)super(n);を呼ぶ
◯String toString():16進数の文字列を返す

わからないです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2017/01/18 05:29

ここまですがすがしい丸投げ案件久しぶりに見た
ikedas

2017/01/18 05:39

授業で使っている教科書を教えて下さい (著者名、書名、出版社を書いて下さい)。また、問題はその本に載っているものでしょうか。もしそうなら、載っているページ番号も教えて下さい。
syachiku

2017/01/18 05:49

なんか笑ったwどこがどう分からないのかも分からないレベルなら大人しくJava入門サイトで1から勉強しなおした方が早いのでは?課題か何かで答えだけ知りたいっていうならまあ・・・
jm1156

2017/01/18 06:41

わざと微妙に間違ったコードを回答してあげようかと思ったけどやめとく。
退会済みユーザー

退会済みユーザー

2017/01/18 15:51

うむぅー 難しい。 public static void main(String[] args) {System.exit(0);}しか思い浮かばない
ikedas

2017/01/18 16:18

tetratailさんのが一応の模範回答かと思うが (つまりこれのコピペを提出すれば即赤点決定。教師だってネットは見てる)、問題自体がなんかビミョーな感じ。やっぱり、教科書がどんなのなのか見てみたい。
swordone

2017/01/18 16:24

模範か?余計なフィールド入れてるし、意図された答えとは違いそう
ikedas

2017/01/18 16:36

だからググるとすぐばれる。
guest

回答3

0

学校の課題は自分でやりましょうね。
ここで教えてもらったものをそのまま提出するのは不正行為なので、見つかると単位没収や点数がつかないなどのペナルティーがあると思いますよ。

投稿2017/01/18 06:16

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

トレースしていただければ流れは分かるかと思います。
細かいところで不明な点があればコメントお願いします。

java

1// NumberTester.java:mainメソッドのクラス 2public class NumberTester { 3 4 public static void main(String[] args) { 5 //各クラスのインスタンスを数 10 で作成 6 BinaryNumber binaryNumber = new BinaryNumber(10); 7 OctalNumber octalNumber = new OctalNumber(10); 8 DecimalNumber decimalNumber = new DecimalNumber(10); 9 HexNumber hexNumber = new HexNumber(10); 10 11 //数 10 を2進数、8進数、10進数、16進数で出力 12 System.out.println(binaryNumber); 13 System.out.println(octalNumber); 14 System.out.println(decimalNumber); 15 System.out.println(hexNumber); 16 } 17} 18 19// Number.java:数クラス(基底クラス) 20public class Number { 21 int num; //:数 22 23 //:コンストラクタ(n=数) 24 public Number(int n) { 25 this.num = n; 26 } 27 28 //:数を返す(派生クラスでオーバーライドされるため意味のない値(null)を返せば良い) 29 public String toString() { 30 return null; 31 } 32} 33 34// BinaryNumber.java:2進数のクラス(派生クラス) 35public class BinaryNumber extends Number { 36 37 //:コンストラクタ(n=数)super(n);を呼ぶ 38 public BinaryNumber(int n) { 39 super(n); 40 } 41 42 //:2進数の文字列を返す 43 public String toString() { 44 return Integer.toBinaryString(this.num); 45 } 46} 47 48// OctalNumber.java:8進数のクラス(派生クラス) 49public class OctalNumber extends Number { 50 51 //:コンストラクタ(n=数)super(n);を呼ぶ 52 public OctalNumber(int n) { 53 super(n); 54 } 55 56 //:8進数の文字列を返す 57 public String toString() { 58 return Integer.toOctalString(this.num); 59 } 60} 61 62// DecimalNumber.java:10進数のクラス(派生クラス) 63public class OctalNumber extends Number { 64 65 //:コンストラクタ(n=数)super(n);を呼ぶ 66 public OctalNumber(int n) { 67 super(n); 68 } 69 70 //:10進数の文字列を返す 71 public String toString() { 72 return Integer.toOctalString(this.num); 73 } 74} 75 76// HexNumber.java:16進数のクラス(派生クラス) 77public class HexNumber extends Number { 78 79 //:コンストラクタ(n=数)super(n);を呼ぶ 80 public HexNumber(int n) { 81 super(n); 82 } 83 84 //:16進数の文字列を返す 85 public String toString() { 86 return Integer.toHexString(this.num); 87 } 88}

投稿2017/01/19 01:03

syachiku

総合スコア117

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

java

1public class ENDC { 2 public static void main(String[] args) { 3 4 BinaryNumber a = new BinaryNumber(12); 5 OctalNumber b = new OctalNumber(12); 6 DecimalNumber c = new DecimalNumber(12); 7 HexNumber d = new HexNumber(12); 8 9 System.out.println(a); 10 System.out.println(b); 11 System.out.println(c); 12 System.out.println(d); 13 14 } 15 16} 17 18class Number { 19 Integer num; 20 21 Number(int n) { 22 num = n; 23 } 24 25 public String toString() { 26 return null; 27 } 28}// :数クラス(基底クラス) 29 30class BinaryNumber extends Number { 31 String nu; 32 Integer n = num; 33 34 BinaryNumber(int num) { 35 super(num); 36 37 nu = n.toBinaryString(num); 38 } 39 40 public String toString() { 41 return nu; 42 } 43}// :2進数のクラス(派生クラス) 44 45class OctalNumber extends Number { 46 String nu; 47 Integer n = num; 48 49 OctalNumber(int num) { 50 super(num); 51 nu = n.toOctalString(num); 52 } 53 54 public String toString() { 55 return nu; 56 } 57}// :8進数のクラス(派生クラス) 58 59class DecimalNumber extends Number { 60 61 String nu; 62 Integer n = num; 63 64 DecimalNumber(int num) { 65 super(num); 66 nu = n.toString(num); 67 } 68 69 public String toString() { 70 return nu; 71 } 72}// :10進数のクラス(派生クラス) 73 74class HexNumber extends Number { 75 76 String nu; 77 Integer n = num; 78 79 HexNumber(int num) { 80 super(num); 81 nu = n.toHexString(num); 82 } 83 84 public String toString() { 85 return nu; 86 } 87 88}// :16進数のクラス

投稿2017/01/18 10:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問