java06

时间:2023-09-28 17:56:08

阅读并运行示例PassArray.java,观察并分析程序输出的结果

java06

小结:引用传递、如果方法中有代码则更改了数组元素的值,因为引用时传递的是地址。

阅读程序WhatDoesThisDo.java, 解释程序所完成的功能。 阅读程序WhatDoesThisDo2.java, 解释程序所完成的功能。

java06

java06

请编写一个程序将一个整数转换为汉字读法字符串。比如“1123”转换为“一千一百二十三”。

import java.util.*;
public class Test_1 {
public static void main(String args[])
{
int n[] = {1,1,2,3};
String m[] = new String[4];
for(int i = 0; i < n.length ; i++)
{
if(n[i] == 1)
{
m[i] = "一";
}
else if(n[i] == 2)
{
m[i] = "二";
}
else
{
m[i] = "三";
}
}
System.out.print(m[0] + "千" + m[1] + "百" + m[2] + "十" + m[3]);
}
}

实验结果截图

java06

直接使用数组表达大数完成大数计算

package wsd;

import java.util.Scanner;
import java.math.BigDecimal;

public class qqq {

public static void main(String[] args) {
// TODO Auto-generated method stub

int aa,bb;
System.out.println("用数组实现大数的加法和减法");
System.out.print("请输入大数a:");
Scanner scan=new Scanner(System.in);
String a=scan.next();
System.out.print("请输入大数b:");
String b=scan.next();
int A[]=new int[100];
int B[]=new int[100];
//用于复杂的乘法和除法
BigDecimal b1 = new BigDecimal(a) ;
BigDecimal b2 = new BigDecimal(b) ;
for(int i=0;i<a.length();i++){
A[i]=(int) ((a.charAt(i)-48)*Math.pow(10,a.length()-i-1));
}
for(int i=0;i<b.length();i++){
B[i]=(int) ((b.charAt(i)-48)*Math.pow(10,b.length()-i-1));
}
int sum=0;
int sub=0;
for(int i=0;i<a.length();i++){
sum+=A[i]+B[i];
sub+=A[i]-B[i];
}
System.out.print("a+b="+sum);
System.out.println();
System.out.print("a-b="+sub);
System.out.println();
System.out.print("a*b="+b1.multiply(b2));
System.out.println();
System.out.print("a/b="+b1.divideToIntegralValue(b2));
}

}

实验结果截图、

java06

BigInteger的用法:

1.add(); 大整数相加

BigInteger a=new BigInteger(“23”)

BigInteger b=new BigInteger(“34”)

2.subtract(); 相减

3.multiply(); 相乘

4.divide();    相除取整

5.remainder(); 取余

6.pow();   a.pow(b)=a^b

7.gcd();   最大公约数

8.abs(); 绝对值

9.negate(); 取反数

10.mod(); a.mod(b)=a%b=a.remainder(b);

11.max(); min();

12.punlic int comareTo();

13.boolean equals(); 是否相等

随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。

package wsd;
import javax.swing.JOptionPane;
import javax.swing.*;
public class qqq {
public static void main(String args[]){
String output= "10个1000以内的随机数为:\n";
int sum=0; int a []=new int [10];
for(int i = 0;i<10;i++)
{
a[i]=(int) (Math.random()*1000);
output += " "+a[i];
sum += a[i];
}
output +="\n\n十个数的和是:"+sum;
JOptionPane.showMessageDialog(null,output,"结果",JOptionPane.PLAIN_MESSAGE);
}
}

实验结果截图、

java06

程序流程图、

java06

相关文章