1英镑=12先令
1先令=20便士写个方法 把指定的便士转换成 英镑,先令,便士 的格式输出
如:272 便士 = 1,1,12的格式

解决方案 »

  1.   

    public class trans 
    {
    private int pounds;
    private int shillings;
    private int pence;

    public trans(int pence)
    {
    shillings=(int)pence/20;
    this.pence=pence%20;
    shillings=(int)pence/20;
    pounds=shillings/12;
    shillings=shillings%12;
    }
    public String toString()
    {
    return(pounds+","+shillings+","+pence);
    } public static void main(String[] args)
    {
    System.out.println(new trans(272));
    }
    }
      

  2.   

    public static String getA(int i){
            
            StringBuffer bf = new StringBuffer();
            int j = i/240;
            
            int k = (i-j*240)/20;
            
            int m = i-j*240-k*20;
            bf.append(j).append(",").append(k).append(",").append(m);
            return bf.toString();
            
        }
      

  3.   

    这种面试题是不是太简单了啊?看不懂二楼和四楼, 怎么还要减?public class CurTrans {
        public static double PenniesToShillings(double pennies) {
            return pennies/20;
        }
        public static double PenniesToPounds(double pennies) {
            return pennies/240;
        }
        public static void main(String[] args) {
            if(args.length > 0) {
                double pennies = Double.parseDouble(args[0]);
                System.out.println(pennies + " pennies is " + 
                    PenniesToPounds(pennies) + " pounds, " + 
                    PenniesToShillings(pennies) + " shillings.");
            }
        }
    }
      

  4.   

    这道题是非常简单的,只要理清了逻辑关系问题就OK了:
    思路:写个转换便士的方法,方法接收所有的便士数,由于1英磅=240便士,即可得到英磅值,1先令=20便士即可得到先令值,剩下的就是便士数咯。
    测试源代码:
    public class Transfer
    {
      public static void main(String[] s)
      {
        int pennies = 72;
        transferToPennies(pennies);
      }
      
      static void transferToPennies(int p)
      {
        System.out.println((int)p/240 + " pounds," + (int)(p%240)/20 + " shillings," + (p%240)%20 + " pennies");
      }
    }