当前位置: 代码迷 >> Java相关 >> java.util包问题
  详细解决方案

java.util包问题

热度:456   发布时间:2006-10-22 22:41:58.0
java.util包问题
import java.text.*;
import java.util.*;
class PersonTest /*这里为什么不能加public啊*(书上的有加 但我打上编译时出错*/
{
public static void main(String args [])
{
Person[] people =new Person[2];
people[0]=new Employee("Harry Hacker",5000,1989,10,1);
people[1]=new Student("Maria Morris","computer science");
for(Person p:people)/*这句是什么意思啊*/
System.out.println(p.getName()+","+p.getDescription());
}
}
abstract class Person
{
public Person(String n)
{
name=n;
}
public abstract String getDescription();
public String getName()
{
return name;
}
private String name;
}
class Employee extends Person
{
public Employee(String n,double s,int year,int month,int day)
{ super(n);
salary=s;
GregorianCalendar Calendar=new GregorianCalendar(-1,year,month,day);
/*为什么总说我这局有错啊*/
hireDay=Calendar.getTime();
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;
}
public String getDescription()
{
return String.format("an employee with a salary of $%.2f",salary);
}
public void raiseSalary(double byPercent)
{
double raise=salary * byPercent/100;
salary+=raise;
}
private double salary;
private Date hireDay;
}
class Student extends Person
{
public Student (String n,String m)
{
super(n);
major=m;
}
public String getDescription()
{
return "a student majoring in"+major;
}
private String major;
}

[此贴子已经被作者于2006-10-22 22:45:52编辑过]

搜索更多相关的解决方案: util  java  

----------------解决方案--------------------------------------------------------
这样子的:GregorianCalendar calendar=new GregorianCalendar(year,month-1,day);
主要是month那输出的时候会多一个月

public问题: 我写的时候是每一个类都用的public 那样的话没什么错误

for(Person p:people)/*这句是什么意思啊*/
这句我也看不懂 。。。。。
----------------解决方案--------------------------------------------------------
public 加在你的包含有启动函数的类前面!month的算法是从0开始的!所以你要加1
----------------解决方案--------------------------------------------------------
for(Person p:people)/*这句是什么意思啊*/
JDK1.5以后增加的,增强FOR循环.把Person p从people一个一个取出来
----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2006-10-23 9:05:07的发言:
for(Person p:people)/*这句是什么意思啊*/
JDK1.5以后增加的,增强FOR循环.把Person p从people一个一个取出来

怎么取啊 能不能举个简单的例子啊?Thank you


----------------解决方案--------------------------------------------------------
这个是for的新功能
就相当于
for(int i=0;i<people.length();i++){
Person p=people[i];
//do something with p;
}
----------------解决方案--------------------------------------------------------
知道了,没用过呢
----------------解决方案--------------------------------------------------------
HOHO 这个就是 java 里的 foreach
----------------解决方案--------------------------------------------------------
  相关解决方案