1。可以这样实现:先用输入数(172)/100, 得到其整数(即100的张数),
然后用余数(可通过模除来实现)/50 ;得到其整数(即50的张数),
依次按上述思路实现下去,可同理得到最后的1,2元的张数2。条形码对应数据库里的字段,(如:select  from product),返回的一resultset即包含产   品的其他信息乱码问题得保证输入前后编码风格的一致性,得依具体情况而定

解决方案 »

  1.   

    对于找零的问题,推荐用if判断加取模%
       int amount=234;
       int[]  type={100,50,20,10,5,2,1}
       System.out.println("需要:");
       for(int i=0;i<7;i++){
           if(amout>type[i]){
              int num=amout/type[i];
              system.out.println("面值为"+type[i]+"的人民币:"+num+"张");
           }
       }
     以上使用java语言写的代码。看能否满足你的需要!
      

  2.   

    乱码问题解决办法 三招:
    1 对html乱码 加
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">2 对jsp乱码 加
    <%@ page contentType="text/html; charset=GBK" language="java" %>3 加过虑器  针对插入数据库中文乱码
    在web.xml文件中加上:
        <!-- fileter for GBK -->
        <filter>
            <filter-name>Set Character Encoding</filter-name>
            <filter-class>com.zyl.mytg.webapp.filters.SetCharacterEncodingFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>Set Character Encoding</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    SetCharacterEncodingFilter.java:pakage com.zyl.mytg.webapp.filters;
    public class SetCharacterEncodingFilter implements Filter {    /**
         * Take this filter out of service.
         */
        public void destroy() {
        }
        /**
         * Select and set (if specified) the character encoding to be used to
         * interpret request parameters for this request.
         */
        public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain)throws IOException, ServletException {    request.setCharacterEncoding("GBK");    // 传递控制到下一个过滤器
        chain.doFilter(request, response);
        }    public void init(FilterConfig filterConfig) throws ServletException {
        }
    }
      

  3.   

    第一题: 把这个数和最大面值(100)整除(/),结果为该中面值所需张数,然后再取其余数(mod),余数在和第二大面值(50)整除,如此取整取余到最小面值,就可以算出所需每种面值的张数.第二题: 第二个问题更简单,以条形码为主键查找,一条select语句就搞定,然后把所有类别中的价格累计起来,就是总价值,再输入付款的金额,相减就出来了.
      

  4.   

    gaolongbiti()  你的程序写错了   看清楚题目要求
      

  5.   

    : silverend(白银末裔) 说的都很好至于乱码问题,如果你是用UTF-8形式保存的,那么解码也是用UTF-8
    <%@ page contentType="text/html;charSet=UTF-8" language="java"%>
    <%request.setCharacterEncoding("UTF-8" );%>是GB2312的则相应的解码方式如:
    <%@ page contentType="text/html;charSet=GB2312" language="java"%>
     <% request.setCharacterEncoding("GB2312" );%>
      

  6.   

    不好意思,确实有一点问题(少了条语句),改正如下:   
       int amount=234;
       int[]  type={100,50,20,10,5,2,1}
       System.out.println("需要:");
       for(int i=0;i<7;i++){
           if(amount>type[i]){
              int num=amount/type[i];
              amount=amount%type[i];
              system.out.println("面值为"+type[i]+"的人民币:"+num+"张");
           }
       }
      

  7.   

    谢谢大家,我昨天看到gaolongbiti() 的,也发现有问题,我在你的代码上面这样修改了,完整的JAVA程序是这样的:
    //amount.java 
      public class amount
    { int money=485;
      int temp=0;
      int num=0;
                int i;
      int[]  type={100,50,20,10,5,2,1};
      void shi()
    {
      System.out.println("您的取款金额是"+money+",需要:");
       for(i=0;i<7;i++){
      if(money>=type[i]){
            num=money/type[i];
            System.out.println("面值为"+type[i]+"元的人民币:"+num+"张"); 
    temp=money%type[i];
    money=temp;
         }
    }
    }
    public static void main(String[] args)
                             {
                                 amount op=new amount(); 
                                   op.shi();
                             }
       
    }