zoukankan      html  css  js  c++  java
  • java06

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

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

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

    请编写一个程序将一个整数转换为汉字读法字符串。比如“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]);
    }
    }

    实验结果截图

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

    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));
    }

    }

    实验结果截图、

    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以内的随机数为:
    ";
    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 +="
    
    十个数的和是:"+sum;
    JOptionPane.showMessageDialog(null,output,"结果",JOptionPane.PLAIN_MESSAGE);
    }
    }

    实验结果截图、

    程序流程图、

  • 相关阅读:
    【Java集合】试读LinkedList源码
    【Java集合】试读ArrayList源码
    类加载器ClassLoader的理解
    Spring中Bean的不同配置方式
    Spring中Bean的生命周期
    关于反射的一点理解
    Vector与ArrayList 的理解
    java多态的实现原理(JVM调用过程)(综合多篇文章,参考见文末)
    并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!
    Thread线程类
  • 原文地址:https://www.cnblogs.com/xhxdeblog/p/6035916.html
Copyright © 2011-2022 走看看