[新手提问]关于传参的问题和格式化输出的问题!在标题我描述不清楚,请进来看看
问题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的这个用法是吧?还是我用错了?