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

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

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

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

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

Q&A

0回答

1443閲覧

FortanからJavaに翻訳した際の文法定義の考え方を教えて欲しいです。

tomat

総合スコア8

Java

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

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

0グッド

1クリップ

投稿2017/01/10 13:57

編集2022/01/12 10:55

Fortran77のプログラムをJavaで変換したいと考えて現在翻訳中です。

今回その中のプログラムの一つでcharacter(ファイル名を格納する変数)、write、format、read文をJavaでの文法はどうなるかを知りたいと思い質問しました。
上はfortran、下は変換中のjavaです。

文法を書く上での考え方や単純にその一つ文法を教えて下さると幸いです。

現在わかるところは配列DIMENSIONとIF文とelse、do文のfor文です
read文は配列としてみてもいいんでしょうか?
PrintStreamoutは今調べています。

FORTRAN

11. SUBROUTINE INPUT(NEX,NIN,IBEX,IBIN,IBNO,NOB,NIB,PX,PY, 22. & KBD,KTJ) 33. IMPLICIT REAL*8(A-H,O-Z) 44. DIMENSION IBEX(KBD),IBIN(KBD),IBNO(KBD,KTJ),PX(KTJ+3) 55. DIMENSION PY(KTJ+3) 66. CHARACTER FNAME*10 77. C 88. WRITE(*,600) 99. 600 FORMAT(' INPUT FILE NAME = ? ') 1010. READ(*,500)FNAME 1111. 500 FORMAT(A10) 1212. OPEN(8,FILE=FNAME) 1313. READ(8,510)NEX,NIN 1414. IF(NEX.NE.0)THEN 1515. READ(8,510)(IBEX(I),I=1,NEX) 1616. END IF 1717. IF(NIN.NE.0)THEN 1818. READ(8,510)(IBIN(I),I=1,NIN) 1919. ELSE 2020. READ(8,510)IBIN(1) 2121. END IF 2222. DO 10 I=1,NEX 2323. READ(8,510)(IBNO(I,J),J=1,IBEX(I)) 2424. 10 CONTINUE 2525. READ(8,510)NOB,NIB 2626. READ(8,520)(PX(I),PY(I),I=1,NOB+NIB) 2727. 510 FORMAT(10I5) 2828. 520 FORMAT(2E15.7) 2929. CLOSE(8) 3030. RETURN 3131. END

Java

11. import java.io.*; 22. public class INPUT { 33. 44. /** 55. * @param args 66. */ 77. public static void INPUT(int NEX,int NIN 88. ,int[] IBEX,int []IBIN,int [][]IBNO,int NOB,int NIB,double[] PX,double []PY,int KBD,int KTJ) { 99. 1010. 1111. try{ 1212. PrintStreamout=newPrintStream(newFileOutputStream("output.txt"),true); 1313. 1. import java.io.*; 142. public class INPUT { 153. 164. /** 175. * @param args 186. */ 197. public static void INPUT(int NEX,int NIN 208. ,int[] IBEX,int []IBIN,int [][]IBNO,int NOB,int NIB,double[] PX,double []PY,int KBD,int KTJ) { 219. // TODO 自動生成されたメソッド・スタブ 2210. 2311. try{ 2412. PrintStreamout=newPrintStream(newFileOutputStream("output.txt"),true); 2513. 2614. if(NEX!=0e0){ 2715. 2816. } 2917. if(NIN!=0e0){ 3018. 3119. }else{ 3220. 3321. } 3422. for(I=1;I<=NEX;I++){ 3523. 3624. } 3725. 3826. 3927. } 4028. 4132. } 4233. }

FORTRAN

1 SUBROUTINE DATA(NEX,NODE,NELM,MTJ,JAC,IDM,PX,PY,KTJ) 2 IMPLICIT REAL*8(A-H,O-Z) 3 DIMENSION MTJ(2*KTJ+1,3),JAC(2*KTJ+1,3),IDM(2*KTJ+1) 4 DIMENSION PX(KTJ+3),PY(KTJ+3) 5 CHARACTER FNAME*30 6C 7 WRITE(*,600) 8 600 FORMAT(/,' RESULTS TO DATA FILE ? (0-YES,1-NO) ') 9 READ(*,500)INF 10 500 FORMAT(I5) 11 IF(INF.EQ.0)THEN 12 WRITE(*,610) 13 610 FORMAT(' OUTPUT FILE NAME = ? ') 14 READ(*,510)FNAME 15 510 FORMAT(A30) 16 OPEN(9,FILE=FNAME) 17 WRITE(9,620)NODE,NELM 18 WRITE(9,630)((MTJ(I,J),J=1,3),(JAC(I,J),J=1,3), 19 & IDM(I),I=1,NELM) 20 WRITE(9,640)(PX(I),PY(I),I=1,NODE) 21 620 FORMAT(2I5) 22 630 FORMAT(7I5) 23 640 FORMAT(2D15.7) 24 CLOSE(9) 25 END IF 26 RETURN 27 END

Java

1public class DATA { 2 3 /** 4 * @param args 5 */ 6 public static void DATA(int NEX,int NODE,int NELM,int [][] MTJ,int[][] JAC,int []IDM, 7 double []PX,double[] PY,int KTJ) { 8 9 } 10 11} 12

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/01/10 14:15

[やりたいことに対して知識が不足しすぎていると思います。もう少し入出力に用いるJavaの代表的なクラス群を学んだほうがよいと思います。 ] と言われた前の質問は解決したのでしょうか?
seastar3

2017/01/10 14:21

このフォートランの副プログラムは出力部分がありません。配列も引数KBDによって動的ですから、下のJavaコードでのそのオブジェクト配列の生成が効果的と思われますが、何のコレクションを使用したいのでしょうか。また、出力形式はCSVなのかXMLのような構造が必要なのか、画面出力なのか、テキストファイル出力なのか、独自の形式なのか、分からないことが多すぎて、手がつけられません。
tomat

2017/01/10 14:42

すみません。出力プログラムを載せてませんでした。出力形式はテキストファイル。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問