日期:2014-05-20  浏览次数:20727 次

[新手提问]关于传参的问题和格式化输出的问题!在标题我描述不清楚,请进来看看
问题1:
原程序有点长有点乱,我写一个来表达:

class   account{
      String   name;
      double   balance;
      account(String   a,double){
            name=a;
            balance=b;
      }
      void   print(String   str){
            System.out.println(name+str+ "     "+balance);
}

public   class   test{
      public   static   void   main(String[]   args){
                    account   obj=new   account( "Tom ",200.0);
                    obj.print( "交易前: ");// <-就是这两个地方,我不知道格式该怎么写
                    obj.print( "交易后: ");// <-意思就是传给print的(String   str)
              }                                               //     我想知道在一行语句里面完成目的的方法  
}                                                             //就是不定义一个String变两赋值在把变量写进去
                                                              //试过New了,但是不会写.到底语法允许这样写不?

-----------------------------------
问题2:
还有我想用格式化的输出,想在输出的时候让double   变量   balance显示一位小数
之前我看了几个格式化输入的文章,如下:

***********参考文章***************
简单说明:  

a.格式描述符:  

1.   L或l   -   使数字左对齐(缺省是右对齐)  
2.   C或c   -   使数字居中对齐(缺省是右对齐)  
3.   X或x   -   显示数字为十六进制(缺省是十进制)  
4.   B或b   -   显示数字为八进制(缺省是十进制)  
5.   ,(半角逗号)-   千位分隔符  
6.   S或s   -   显示数字为科学记数法  
7.   Z或z   -   用零填空位(缺省是空格)  
8.   w.d   (两个整数用半角句号隔开)-   指定输出域宽及精度  

b.   "fillChar "是填空位符(缺省为空格)  
--你可以用MyOut.fillChar   =   '* '或 '$ '来定义你自己的空位符  


举例:  
println(123.45678,   "8.3L ")   -> ;   123.457(左对齐占八位)  
println(123.45678,   "10.3cs ")   -> ;     1.235E2   (居中占十位)  
println(1234567,   ",10 ")   -> ;       1,234,567(右对齐占十位)  


//   class   MyOut  

       
import   java.io.PrintStream;
import   java.io.PrintWriter;
import   java.io.OutputStreamWriter;
import   java.text.DecimalFormat;
import   java.text.NumberFormat;

*********文章结束*********
我把以上提示的包也引入了
然后我把问题一的print语句写成
void   print(){
System.out.println( "金额 "+balance,   ".1L ");
      }
解释报错说:
符号:   方法println(java.lang.String,java.lang)
位置:   类   java.io.PrintStream
那就是说我引入的类都没有定义println的这个用法是吧?还是我用错了?