package zhaolingqian;
import javax.swing.JOptionPane;
import java.util.Arrays;
public  class Zhaolingqian{
  public static void main(String args[]){
  double s;
  int[i] a=new {0,0,0,0,0,0,0,0;}
 double []b={2,1,0.5,0.2,0.1,0.05,0.02,0.01};
  String number = JOptionpane.showInputDialog("请输入一个0到500之间的数:");
 int r= Integer.parseInt(number);//将输入的数转化为整形
 double l=r/100;
      s=5-l;
    for(int i=0;i<8;i++){
  while(s!=0&&s>b[i]){ s=s-b[i];a[i]=a[i]++;}
  }
JOptionPane.showMessageDialog(null,a[i],"要找的零钱是:",JOptionPane.INFORMATION_MESSAGE);
 }
 public String toString(){
    return(a[0]+"俩元"+a[1]+"一元"+a[2]+"五角"+a[3]+"俩角"+a[4]+"一角"+a[5]+"五分"+a[6]+"俩分"+a[7]+"一分");}
  }

解决方案 »

  1.   


     public static void main(String args[]) {
            double s;
            // int[i] a=new {0,0,0,0,0,0,0,0;}
            // 此处有三个错误:1、i还没有定义,你不能使用它
            // 2、基本类型数组不用new
            // 3、分号要写在大括号的右面
            int[] a = { 0, 0, 0, 0, 0, 0, 0, 0 };
            double[] b = { 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01 };
            // String number = JOptionpane.showInputDialog("请输入一个0到500之间的数:");
            // 此处有一个错误 JOptionpane “Pane”应该大写
            String number = JOptionPane.showInputDialog("请输入一个0到500之间的数:");
            int r = Integer.parseInt(number);// 将输入的数转化为整形
            double l = r / 100;
            s = 5 - l;
            for (int i = 0; i < 8; i++) {
                while (s != 0 && s > b[i]) {
                    s = s - b[i];
                    a[i] = a[i]++;
                }
            }
            JOptionPane
                    .showMessageDialog(null, toString(a), "要找的零钱是:", JOptionPane.INFORMATION_MESSAGE);
            // 调用你自己写的toString
        }    public static String toString(int[] a) {
            // 把你想拼接的数组传进来,由于要在main方法中调用,所以要定义为static
            return (a[0]
                    + "俩元" + a[1] + "一元" + a[2] + "五角" + a[3] + "俩角" + a[4] + "一角" + a[5] + "五分" + a[6]
                    + "俩分" + a[7] + "一分");
        }你自己试一下吧,没运行~~