设计思路:首先创建一个数组a[],长度为10;还有输出字符串和求和整数。然后在for循环中调用Math.Random()方法随机生成一定范围内的整数,将随机数赋值给数组,同样输出字符串和求和进行相应变化。最后调用JOptionPane.showMessageDialog()方法将数组元素输出。
源程序代码:
//随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中
//范亚雷 2015.11.01import javax.swing.JOptionPane;
public class RandomNum {
public static void main(String[] args){ int[] a=new int[10]; //初始化一个长度为10的数组 int sum=0; //随机数求和 String output="这个数组中数字有:"+"\n"; //输出字符 for(int i=0;i<10;i++) { a[i]=(int)(Math.random()*100); //产生随机数 output=output+a[i]+" "; sum=sum+a[i]; //求和 } output=output+"\n"+"这10个随机数的和为:"+sum; JOptionPane.showMessageDialog(null, output,"输出结果",JOptionPane.INFORMATION_MESSAGE); //输出 }}
运行结果截图:
2.
源代码:
//编写一个程序将一个整数转换为汉字读法字符串。比如“1123”转换为“一千一百二十三”。
//范亚雷 2015.11.02import java.util.Scanner;
public class Change { private String[] hanArr = {"零","一" , "二" , "三" , "四" , "五" , "六" , "七" , "八" , "九" }; private String[] unitArr = {"十" , "百" , "千","万","十万","百万"};
/**
* 把一个四位的数字字符串变成汉字字符串 * @param numStr 需要被转换的四位的数字字符串 * @return 四位的数字字符串被转换成的汉字字符串。 */ private String toHanStr(String numStr) { String result = ""; int numLen = numStr.length(); //依次遍历数字字符串的每一位数字 for (int i = 0 ; i < numLen ; i++ ) { //把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48 //因此把char型数字减去48得到int型数字,例如'4'被转换成4。 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]; } } //只有个位数,直接返回 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;return result;
} } public static void main(String[] args){ System.out.println("只支持整数(0~百万)"); System.out.println("请输入任意一个整数:"); Scanner sc = new Scanner(System.in); //输入整数 String num=sc.next(); //转化为定义字符串 System.out.println(nr.toHanStr(num)); //调用函数 }}运行结果截图: