下のような拡張ユーグリッドのプログラムを組んだのですがエラーが出て何が悪いのかがわかりません。エラーの内容は
apRSA.java:18: 型の開始が不正です。
do{
^
apRSA.java:57: <identifier> がありません。
}while(q.compareTo(BigInteger.ONE) !=0);
^
の二つです。どなたか助けてください。

import java.math.*;
import java.util.Random;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class apRSA extends Applet{
BigInteger p,q,e,d,m,c,m2,t,t1,p1,q1,e1;

final int bit =512;
final int k =10;
Random rnd =new Random();

do{
p=new BigInteger(bit,k,rnd);
p1=p;
q=new BigInteger(bit,k,rnd);
q1=q;

BigInteger []x;
BigInteger []y;
BigInteger []z;

x =new BigInteger[3];
y =new BigInteger[3];
z =new BigInteger[3];

x[0] =BigInteger.ONE;
y[0] =BigInteger.ZERO;
z[0] =p;

x[1] =BigInteger.ZERO;
y[1] =BigInteger.ONE;

while(q.compareTo(BigInteger.ZERO) !=0){
BigInteger r =p.mod(q);
p=q;
q=r;
}

}while(q.compareTo(BigInteger.ONE) !=0);
}

このQ&Aに関連する最新のQ&A

A 回答 (2件)

このapRSAっていうクラスにはメソッドはないのですか。


Javaの場合、処理はメソッド中に書きます。
    • good
    • 0
この回答へのお礼

ありがとうございました。これで何とかなりそうです。

お礼日時:2005/07/28 09:23

たぶん、do{????????}while(){??????}


が対になっていない。
whileの前で、}で閉じられていないためだとおもいます。

http://www.kab-studio.biz/Programing/JavaA2Z/Wor …

http://www.kab-studio.biz/Programing/JavaA2Z/Wor …
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qjavascript:(function(q, a, z) { q[a]("f")[z] = Ma

javascript:(function(q, a, z) { q[a]("f")[z] = Math.floor(Math.random()*999999);document.forms[0].submit(); })(document, "getElementById" ,"value");

このブックマークレットをsetIntervalで動かしたいのですがどう書き換えればいいのかよくわかりません。

調べたらstartfncやsetInterval(ここに何かを指定?,ミリ秒);を付ければ可能なことがわかったのですがうまくいきません。
初心者です。何卒宜しくお願いします

Aベストアンサー

こんにちは

>setIntervalで動かしたいのですが~~
setIntervalは以下のような構文になります。
 intervalID = window.setInterval(func, delay);
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

ご提示のスクリプトは即時関数の形式をとっていますので、さらに関数化(匿名関数でも可)して上記構文のfuncに当てはめれば良いことになります。
http://qiita.com/katsukii/items/cfe9fd968ba0db603b1e
スクリプトは概ね以下の2行と等価ですので、こちらを関数化しても同じですね。
(フォームに乱数を設定しサブミットする)
 document.getElementById("f")..value = Math.floor(Math.random()*999999);
 document.forms[0].submit();


ところで、ご提示のスクリプトではフォームをサブミットするようになっていますが、通常はサブミットするとページが遷移してしまうので、setIntervalで繰り返すことは難しいはずです。
まぁ、target属性が設定されていたりすれば別ですけれど・・・
使い方がいまいちよくわかりませんが、文法的には
 setInterval( function(){
  ~~~
}, dalay);
とするか、
 setInterval(hoge, dalay);
 function hoge(){
  ~~~
 }
のようにすることで、実行が可能なはずです。(繰り返しできる環境であれば・・・)

こんにちは

>setIntervalで動かしたいのですが~~
setIntervalは以下のような構文になります。
 intervalID = window.setInterval(func, delay);
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

ご提示のスクリプトは即時関数の形式をとっていますので、さらに関数化(匿名関数でも可)して上記構文のfuncに当てはめれば良いことになります。
http://qiita.com/katsukii/items/cfe9fd968ba0db603b1e
スクリプトは概ね以下の2行と等価ですので、こちらを関数化しても同じですね。
(フォ...続きを読む

Qjavaについて教えてください。java初心者です。int arr[] = new int[

javaについて教えてください。

java初心者です。

int arr[] = new int[] { 3, 1, 4, 1, 5, 9, 2, 6 };はどういうことなんでしょうか?
教えてください。

Aベストアンサー

int[] arr = new int[8];
arr[0] = 3;
arr[1] = 1;
arr[2] = 4;
arr[3] = 1;
arr[4] = 5;
arr[5] = 9;
arr[6] = 2;
arr[7] = 6;

https://ideone.com/OMAI0E

QString a = "a"; と String b = new String ("b"); の違い

String a = "a";
String b = new String ("b");

お伺いしたいのですが、
b は String のインスタンスを作ってると思いますが、
a はどんなことをしてるのでしょうか?

Aベストアンサー

お二人の回答を具体的に言うと、こういうことです。
String a1 = "a";
String a2 = "a";
String b1 = new String ("b");
String b2 = new String ("b");

a1のために、aという文字列のインスタンスが作られますが、
a2に代入されるのは、a1に使われたインスタンスが再利用されます。
これは、
if(a1 == a2) System.out.print("a1と同じインスタンス");
の結果でもわかります。

一方、b1とb2は、bという文字列オブジェクトを引数に、新しいインスタンスを生成する指示がありますので、b1とb2と、その初期化に使った無名のStringインスタンスの3つがメモリ上に存在することになります。
if(b1 != b2) System.out.print("b1とは違うインスタンス");
の結果でもわかると思います。

したがって、
String b = new String ("b"); というのは、Integerに例えると
Integer i = new Integer(new Integer(1)); という処理を
していることになり、ひとつ無駄なインスタンス生成となります。

お二人の回答を具体的に言うと、こういうことです。
String a1 = "a";
String a2 = "a";
String b1 = new String ("b");
String b2 = new String ("b");

a1のために、aという文字列のインスタンスが作られますが、
a2に代入されるのは、a1に使われたインスタンスが再利用されます。
これは、
if(a1 == a2) System.out.print("a1と同じインスタンス");
の結果でもわかります。

一方、b1とb2は、bという文字列オブジェクトを引数に、新しいインスタンスを生成する指示がありますので、b1とb2と、その...続きを読む

Qimportするには java.io.*; import org.apache.log4j.*;

EclipseでJavaの開発をしています。
import java.io.*;
import org.apache.log4j.*;
がエラーになります。
多分ライブラリーに入れる必要があるのだと思いますが、その方法について
教えて下さい。宜しくお願い致します。

Aベストアンサー

プロジェクトフォルダを右クリック→「ビルド・パス」→「ビルド・パスの構成」
あるいはプロジェクトフォルダを右クリック→「プロパティ」→「Javaのビルド・パス」

で、ライブラリがプロジェクトフォルダ配下に存在しているなら「Jarの追加」
プロジェクトフォルダ以外の場所にあるなら「外部Jarの追加」で追加できます。

ちなみにjava.ioはJ2SEに含まれているので(「JREシステムライブラリ」があるはずなので)
追加しなくても良いです。

Q[[prototype]] =__proto__?

[[prototype]] と __proto__ は、同じ意味でしょうか?

Aベストアンサー

__proto__は非標準で実装依存なので、その点で同じではありません。

例えば、Firefoxの場合、下記ページに
__proto__ - JavaScript | MDN
https://developer.mozilla.org/ja/docs/JavaScript/Reference/Global_Objects/Object/proto
> An Object's __proto__ property references the same object as its internal [[Prototype]]
とあるので、Firefoxに関しては同じと見なせると思います。

もっとも、__proto__を実装しているブラウザはたいてい[[Prototype]]を意図して実装していると思われますし
現実的には同じものだと考えてしまっても理解する上で特に問題は無いかと思います。


人気Q&Aランキング

おすすめ情報