知识点:1.定义一个数组并分配内存 int c[]=new int[12] String b[]=new String[100]
直接定义数组 int n[]={10,20,30,40}
2.数组元素是基本类型,初始化为0。数组元素是引用类型,不能直接访问,使用之前必须先创建特定对象。
3.foreach访问数组:package chen;
public class ArrayExample {
public static void main(String args[])
{
int n[]=new int[100];
for(int element:n)
System.out.print(element);
}
}
4..arraycopy方法进行数组拷贝 System.arraycopy(a,m,b,n,s) 将a数组复制到b数组,从a数组下标为m的元素开始复制s个元素,从b数组下标为n的元素开始粘贴
一.访问引用类型数组
package chen;
public class ArrayExample {
public static void main(String args[])
{
MyClass arr[]=new MyClass[10];
arr[2].value=100;
}
}
class MyClass
{
public int value=1;
}
二运行PassArray.java小结
按引用传递数组类型方法参数,如果方法中有代码更改了数组元素的值,原始的数据元素值也会更改。
按值传递数组类型方法参数,方法中有代码更改了数据元素的值,原始数据元素值不会改变。
三.测试代码ArrayInRam
被赋值之后的数组长度改变。
四.WhatDoesThisDo 数组内元素求和
五.WhatDoesThisDo2 倒序输出数组内元素。
六.Array用法
1.Arrays.equals(a,b) 比较a,b数组是否相等
2.Arrays.toString(a) 输出数组a元素
3.int b[]=Arrays.copyOf(a,n) 将a数组复制给b数组,b数组中有n个元素
4.Arrays.fill(a,m,n,x) 将a数组的下标m的元素(包括)到下标n的元素(不包括)赋值为x
5.Arrays.sort(a) 将数组a从小到大排序
七.编写程序将一个整数转换为汉字读法字符串(“1123”转换为“一千一百二十三”)
源代码:package chen;
import java.util.Scanner;
public class change {
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
System.out.print("请输入数字:");
String number=s.next();
if("-1".equals(number)) System.out.print("错误请重新输入"); //输入数字为负数
new change().calculator(Integer.parseInt(number));
}
public void calculator(int number)
{
String str="";
String num[]={"零","一","二","三","四","五","六","七","八","九"};
String danwei[]={"","十","百","千","万","十","百","千","亿"};
String result=String.valueOf(number); //将输入数字转换为字符串
char s[]=result.toCharArray(); //将字符串分割为数组存放
for(int i=0;i<s.length;i++)
{
int n=(int)s[i]-48; //从字符型转换为整形
if(n!=0)
{
str+=num[n]+danwei[s.length-i-1];
}
else
{
str+=num[n];
}
}
System.out.print("转换为数字读法:"+str);
}
}
八.用BigInteger能完成大数计算,可以用数组表达大数实现相同的功能。1.用大数类实现加和减两个功能2.阅读BigInteger类源码,弄清楚它是使用什么算法实现加减乘除四种运算的?3.通过互联网查找大数运算的相关资料,给你的大数类添加乘、除、求阶乘等其它功能。
源代码://20153250 陈欣容 大数的加减乘除 20153250
package chen;
import java.util.*;
import java.math.*;
public class Dashu {
public static void main(String args[])
{
Scanner s=new Scanner(System.in);
System.out.print("输入第一个大数:");
BigInteger a=s.nextBigInteger();
System.out.print("输入第二个大数:");
BigInteger b=s.nextBigInteger();
System.out.print("加法:");
System.out.print(a+"+"+b+"="+a.add(b)+" ");
System.out.print("减法:");
System.out.print(a+"-"+b+"="+a.subtract(b)+" ");
System.out.print("乘法:");
System.out.print(a+"*"+b+"="+a.multiply(b)+" ");
System.out.print("除法:");
System.out.print(a+"/"+b+"="+a.divide(b)+" ");
}
}
截图:
九.随机生成10个数,填充一个数组,用消息框显示数组内容,计算数组元素的和,结果也显示在消息框中。
设计思路:先创建一个长度为10的数组,在循环中产生随机数依次赋给数组内10个元素,在循环内将每次获得的随机数相加得到数组元素的和,最后在消息框显示。
源代码://20153250 陈欣容 信1503
package chen;
import javax.swing.*;
public class nine {
public static void main(String args[])
{
int sum=0;
int a[]=new int[10]; //创建长度为10的数组
String result="10个100以内的随机数为: ";
for(int i=0;i<a.length;i++)
{
a[i]=(int)(1+Math.random()*100); //生成1到100的随机数
sum+=a[i]; //计算数组元素的和
result+=" "+a[i]+" ";
}
result+="数组元素之和为:"+sum;
JOptionPane.showMessageDialog(null,result,"结果",JOptionPane.INFORMATION_MESSAGE);
}
}
截图:
总结:消息框输出:JOptionPane.showMessageDialog(null,输出的变量,”消息框标题”,JOptionPane.INFORMATION_MESSAGE)
产生随机数方法:(int)(最小值+Math.random()*(最大值-最小值+1))