教えてください。
C言語は、一通りマスターしております。
現在JAVAを勉強しております。
C言語で作成したシステムをJAVAに移植しようと思ったのですが、
下記のような定義があり、身近な書籍で確認したところ、参考に
なる資料がありませんでした。
このようにC言語で定義されたのをJAVAで実現する事は可能でしょうか?
これは、禁じ手なのでしょうか?
すみませんが、アドバイスお願いします。
(1)構造体を定義します。
typedef struct {
int iID;
char szSyainCode[ 12 ];
char szName[ 40 ];
int iage;
}Syain;
(2)定義した構造体を利用し、コンパイル時に初期化を行わせます。
static Syain tSyain[] = {
{ 1 ,"ABC001","鈴木",43},
{ 2 ,"ABC002","大木",23},
{-1 ,"","",0}
}
(3)コンパイル
(4)実行
(5)プログラムを実行した時にこのテーブルを参照し、処理します。
int i;
for( i=0 ;; i++ ){
/* 終端チェック */
if( tSyain[i].iID==-1 ){
break;
}
:
No.1ベストアンサー
- 回答日時:
まず(1)はできます。
構造体の代わりにclassを使って、フィールドをpublicにすればいいわけです。
(オブジェクト指向的にはあまりよい作法ではありませんが)
問題は(2)です。
Javaだと、このように、単純に要素を並べて初期化することはできません。
newを用いて、コンストラクタを起動しなければなりません。
Syain tSyain[] = {
new Syain(1 ,"ABC001","鈴木",43),
new Syain(2 ,"ABC002","大木",23)
};
のようにします。
コンパイル、実行は上の方式でできると思います。
Javaの配列は、配列長が入っているので、
終端チェックはそれを使った方がいいでしょう。
for(int i=0 ; i<tSyain.length; i++ ){
/* 終端チェック不要 */
……
}
ただ、構造を変えたくないのであれば、IDによる終端チェックをしても
いいでしょう。
返事が遅くなりすみません。
構造化で学んできたため、オブジェクト指向の切り替えが
できていない状態です。
>(オブジェクト指向的にはあまりよい作法ではありませんが)
なるほど。禁じ手までいかなくても、やらない方法なのですね。
オブジェクト指向で実現する方法を勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaが文字コードの影響でコン...
-
eclipseの構文エラーについて
-
.jarファイルの中身って書き換...
-
javax.servlet は存在しません...
-
jadによるclassファイルの逆コ...
-
JSP使用によるスタイルシート読...
-
LaTeXでのアンダーバーの入力
-
逆コンパイルの見方について
-
IIS環境でJAVAを使用したい
-
exlipseでデバックエラーが発生...
-
コンパイルエラーに出てくる、i...
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
Javascriptの値をJava(JSP)へ渡...
-
タグが閉じてないというエラー...
-
マイクラjavaでForgeを入れたい...
-
Eclipse・プロジェクトで、フォ...
-
正しいURL指定しているにもかか...
-
JSPのクラスをコンパイルできな...
-
javaクラスファイルをEclipseで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
javaが文字コードの影響でコン...
-
Eclipse3.5EEでJavaのコンパイ...
-
コンパイルエラーに出てくる、i...
-
javax.servlet は存在しません...
-
IIS環境でJAVAを使用したい
-
サクラエディタでjavaのプログ...
-
Javaのコンパイル結果が表示さ...
-
「識別子がクラス名でも名前空...
-
eclipseの設定のJREとコンパイ...
-
javaの簡単なソースがコンパイ...
-
eclipseの構文エラーについて
-
JAVAでC/C++の条件コンパイルの...
-
dokojavaのコンパイルについて
-
TeXで図を挿入できません.助け...
-
LaTeXでのアンダーバーの入力
-
Log4jのインストール
-
逆コンパイルの見方について
-
TOMCAT_HOMEって?
-
Javaについて教えてね。
おすすめ情報