课堂作业(数组)
Posted 发酸的丶牛奶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课堂作业(数组)相关的知识,希望对你有一定的参考价值。
一、阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结。
运行结果:
答:按引用传递与按值传送数组类型方法参数的最大关键在于:
使用前者时,如果方法中有代码更改了数组元素的值,实际上是直接修改了原始的数组元素。
使用后者则没有这个问题,方法体中修改的仅是原始数组元素的一个拷贝。
二、请编写一个程序将将数字表示的金额改为汉字表达
import javax.swing.JOptionPane;
public class NumRmb
{
private String[] hanArr = {"零" , "壹" , "贰" , "叁" , "肆" ,
"伍" , "陆" , "柒" , "捌" , "玖"};
private String[] unitArr = {"十" , "百" , "千","万","十万","百万"};
/**
* 把一个四位的数字字符串变成汉字字符串
* @param numStr 需要被转换的四位的数字字符串
* @return 四位的数字字符串被转换成的汉字字符串。
*/
private String toHanStr(String numStr)
{
String result = "";int i = 0;
int numLen = numStr.length();
//依次遍历数字字符串的每一位数字
for ( ; i < numLen ; i++ )
{
if((i==numLen-1)&&(numStr.charAt(i)!=\'.\')){
//把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48
//因此把char型数字减去48得到int型数字,例如\'4\'被转换成4。
for(i=0;i<numLen;i++){
int num = numStr.charAt(i) - 48;
//如果不是最后一位数字,而且数字不是零,则需要添加单位(千、百、十)
if ( i != numLen - 1 && num != 0)
{result += hanArr[num] + unitArr[numLen - 2 - i];}
//否则不要添加单位
//上一个数是否为“零”,不为“零”时就添加
else
{if(result.length()>0 && hanArr[num].equals("零") && result.charAt(result.length()-1)==\'零\')
continue;
result += hanArr[num];}
}
result +="元";
}
else if(numStr.charAt(i)==\'.\'){
for(int j=0;j<i;j++)
{
int num = numStr.charAt(j) - 48;
if ( j != i - 1 && num != 0){
result += hanArr[num] + unitArr[i -2- j];
}
else{
if(result.length()>0 && hanArr[num].equals("零") && result.charAt(result.length()-1)==\'零\')
continue;
result += hanArr[num];
}
}
if(i<numStr.length())
{int num = numStr.charAt(i+1) - 48;result +="元"+hanArr[num]+"角";
num = numStr.charAt(i+2) - 48;result +=hanArr[num]+"分";}
break;
}
}
//只有个位数,直接返回
if(result.length()==1)
return result;
int index=result.length()-1;
while(result.charAt(index)==\'零\'){
index--;
}
if(index!=result.length()-1)
return result.substring(0,index+1);
else {
return result;
}
}
public static void main(String[] args)
{
NumRmb nr = new NumRmb();
String num=JOptionPane.showInputDialog("输入钱数");
JOptionPane.showMessageDialog(null, nr.toHanStr(num),"转化后",JOptionPane.CLOSED_OPTION);
}
}
三、十个随机数求和
1、设计思想:
创建类,定义方法产生随机数,定义方法求和,主方法调用,并输出结果
2、流程图
3、源代码
1 import javax.swing.*;
2 public class Suijihe {
3 public static void main(String[]args){
4 int[] num=new int[10];String s="";
5 suiji(num);
6 for(int i=0;i<num.length;i++)
7 s+=num[i]+" ";
8 int sum=qiuhe(num);
9 JOptionPane.showMessageDialog(null,s+"\\n"+sum,"一到十之间十个随机数和",JOptionPane.CLOSED_OPTION);
10 }
11
12 public static void suiji(int a[]){
13 for(int i=0;i<a.length;i++){
14 a[i]=(int)(1+Math.random()*10);
15 }
16 }
17
18 public static int qiuhe(int a[]){
19 int sum=0;
20 for(int i=0;i<a.length;i++)
21 sum+=a[i];
22 return sum;
23 }
24 }
4、运行结果截图
以上是关于课堂作业(数组)的主要内容,如果未能解决你的问题,请参考以下文章