人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

インド式掛け算をJava でかいてみてください。
いいコードには高得点差し上げます。
11*11から99*99の」答えが出るようにしてください。
http://www.geocities.jp/journey4web/Labo/KenSquar.html
/*答えを書かない人は投稿しないでください。*/

●質問者: rthuk
●カテゴリ:インターネット ウェブ制作
✍キーワード:Java インド コード 差し 得点
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● きゃづみぃ
●25ポイント
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
i=0;
function Start(){

a1=document.myform.mytext1.value;
a2=document.myform.mytext2.value;

f=1;

b1=Number(a1);
b2=Number(a2);

if (b1<10) { f=0; }
if (b1>99) { f=0; }
if (b2<10) { f=0; }
if (b2>99) { f=0; }

m1="";
m2="";
m3="";
m4="";
m5="";

if (f==0){
 m1="計算できません。"; 
}
else{

k1= a1.substr(0, 1) * a2.substr(0, 1) * 100;
m1= a1.substr(0, 1) + "×" + a2.substr(0, 1) + "× 100 = " + k1;

k2= a1.substr(1, 1) * a2.substr(0, 1) * 10;
m2= a1.substr(1, 1) + "×" + a2.substr(0, 1) + "× 10 = " + k2;

k3= a1.substr(0, 1) * a2.substr(1, 1) * 10;
m3= a1.substr(0, 1) + "×" + a2.substr(1, 1) + "× 10 = " + k3;

k4= a1.substr(1, 1) * a2.substr(1, 1) ;
m4= a1.substr(1, 1) + "×" + a2.substr(1, 1) + " = " + k4;

k5= k1+k2+k3+k4;
m5= "合計 = " + k5;


}

myText3.innerHTML = m1;
myText4.innerHTML = m2;
myText5.innerHTML = m3;
myText6.innerHTML = m4;
myText7.innerHTML = m5;

}
//-->
</SCRIPT>
</HEAD>
<CENTER>
<FORM name="myform">
<INPUT name='mytext1' size='10' style="position:absolute;top:10;left:10;">
<BR>
<INPUT name='mytext2' size='10' style="position:absolute;top:40;left:10;">
<BR>
<INPUT type="button" value="計算" onClick="Start()">

<DIV id="myText3" style="position:absolute;top:70;left:10;"></DIV>
<BR>
<DIV id="myText4" style="position:absolute;top:100;left:10;"></DIV>
<BR>
<DIV id="myText5" style="position:absolute;top:130;left:10;"></DIV>
<BR>
<DIV id="myText6" style="position:absolute;top:160;left:10;"></DIV>
<BR>
<DIV id="myText7" style="position:absolute;top:190;left:10;"></DIV>
<BR>

</FORM>
</CENTER>
</BODY>
</HTML>

こんな感じでどうでしょうか?

◎質問者からの返答

ありがとうございます。スクリプトじゃないやつでお願いします。


2 ● imafuku
●25ポイント

public class IndiaCalc {

/**

* @param args

*/

public static void main(String[] args) {

for (int i = 11 ; i < 100 ; i++){

for (int j = 11 ; j < 100 ; j++){

int ichiI = i % 10;

int ichiJ = j % 10;

int juuI = i / 10;

int juuJ = j / 10;

int answer = juuI * juuJ * 100 + juuI * ichiJ * 10 + ichiI * juuJ * 10 + ichiI * ichiJ;

print (i, j, answer);

}

}

}

private static void print(int i, int j, int answer) {

System.out.println(i + " × " + j + " = " + answer + "(検算:" + (i * j) + ")");

}

}

◎質問者からの返答

ありがとうございます。これだと96*99、99*99までしか出来ないんですけど。

あーよくみたら全部やってましたね。9801個。出来れば一覧できるようにしてほしかった。全部見ることができませんから。


3 ● y3b5
●25ポイント

こんなのでどうでしょう?

public class India_kuku {

private static final int KUKU_MIN = 11;
private static final int KUKU_MAX = 99;

public static void main(String[] args) {

if (args.length != 2){
System.out.println("パラメータは2個必要!");
return;
}

int param1 = Integer.parseInt(args[0]);
int param2 = Integer.parseInt(args[1]);

if ((param1 < KUKU_MIN) || (KUKU_MAX < param1) || (param2 < KUKU_MIN) || (KUKU_MAX < param2)){
System.out.printf("数字は%dから%dの間!\n",KUKU_MIN,KUKU_MAX);
return;
}

int p1_1 = param1 % 10; // param1の1の位
int p1_10 = param1 / 10; // param1の10の位
int p2_1 = param2 % 10; // param2の1の位
int p2_10 = param2 / 10; // param2の10の位
int kekka_1 = p1_10 * p2_10 * 100; // (1)10の位同士を掛けて100倍
int kekka_2 = p1_10 * p2_1 * 10; // (2)外側の数字同士を掛けて10倍
int kekka_3 = p1_1 * p2_10 * 10; // (3)内側の数字同士を掛けて10倍
int kekka_4 = p1_1 * p2_1; // (4)1の位同士を掛ける

System.out.println("(1) " + p1_10 + " * " + p2_10 + " * 100 = " + kekka_1);
System.out.println("(2) " + p1_1 + " * " + p2_10 + " * 10 = " + kekka_2);
System.out.println("(3) " + p1_10 + " * " + p2_1 + " * 10 = " + kekka_3);
System.out.println("(4) " + p1_1 + " * " + p2_1 + " = " + kekka_4);
System.out.printf("合計:%d\n", kekka_1 + kekka_2+ kekka_3 + kekka_4);

}
}
◎質問者からの返答

ありがとうございます。実行のやりかたがわかりません。


4 ● felix2007
●0ポイント

http://www.sei-info.co.jp/FWa.html

◎質問者からの返答

貴方はふざけてるんですか?

はてなに報告しましたから。


5 ● aside
●25ポイント ベストアンサー

九九の表みたいな出力

public class MultiCalc {
public static void main(String[] args) {
for (int i = 10; i < 100; i++) {
if (i != 10) {
System.out.print(i);
}
for (int j = 11; j < 100; j++) {
if (i == 10) {
System.out.print("\t" + j);
} else {
System.out
.print("\t"
+ ((int) (i / 10) * (int) (j / 10) * 100
+ (int) (i / 10) * (j % 10) * 10
+ (i % 10) * (int) (j / 10) * 10 + (i % 10)
* (j % 10)));
}

}
System.out.print("\n");
}
}
}
◎質問者からの返答

ありがとうございます。中々シンプルですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ