十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
HashMap的常用方法
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比承留网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式承留网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖承留地区。费用合理售后完善,10年实体公司更值得信赖。
map的存储和修改方式 map.put(key, value);
map是否包含某个元素map.containsKey(key);
map某个key的value值map.get(key);
参考代码
import java.util.HashMap;
public class BookTest {
static HashMapString, Integer map=new HashMapString, Integer();
static{//初始化图书信息
map.put("三国志", 8);
map.put("红楼梦", 0);
map.put("西游记", 15);
}
public static void main(String[] args) {//main方法
jieShu("水浒");
jieShu("三国志");
huanShu("三国志");
jieShu("红楼梦");
huanShu("红楼梦");
jieShu("红楼梦");
}
public static void jieShu(String name){//借书
if(!map.containsKey(name)){//查询图书馆是否有这本书
System.out.println("书籍:"+name+"\t查无此书!");
return;
}
if(map.get(name)=0){//查询图书数量是否为0
System.out.println("书籍:"+name+"\t已全部借出,请明日在来");
return;
}
map.put(name, map.get(name)-1);
System.out.println("书籍:"+name+"\t借书成功。"+"\t库存:"+map.get(name));
}
public static void huanShu(String name){//还书
if(!map.containsKey(name)){
System.out.println("查无此书");
}else{
map.put(name, map.get(name)+1);
System.out.println("书籍:"+name+"\t还书成功。"+"\t库存:"+map.get(name));
}
}
}
测试输出
书籍:水浒 查无此书!
书籍:三国志 借书成功。 库存:7
书籍:三国志 还书成功。 库存:8
书籍:红楼梦 已全部借出,请明日在来
书籍:红楼梦 还书成功。 库存:1
书籍:红楼梦 借书成功。 库存:0
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.sql.Date;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class ZuJin extends JFrame {
/**
* (结束日期-开始日期)÷30×月租金+业务费用+其他费用=总费用
〔(结束日期-开始日期)÷30×月租金+业务费用+其他费用〕÷合租人员=平均费用
需要弹出一个租金计算器对话框 分为租金计算信息与租金计算结果两部分
*/
public ZuJin(){
Container c=getContentPane();
c.setLayout(new GridLayout(5, 4));
JLabel j1=new JLabel("开始日期");
c.add(j1);
JTextField jt1=new JTextField(10);
c.add(jt1);
JLabel j2=new JLabel("结束日期");
c.add(j2);
JTextField jt2=new JTextField("");
c.add(jt2);
JLabel j3=new JLabel("月租金(元)");
c.add(j3);
JTextField jt3=new JTextField(5);
c.add(jt3);
JLabel j4=new JLabel("业务费(元)");
c.add(j4);
JTextField jt4=new JTextField(5);
c.add(jt4);
JLabel j5=new JLabel("其他费用(元)");
c.add(j5);
JTextField jt5=new JTextField(5);
c.add(jt5);
JLabel j6=new JLabel("合租人员数量");
c.add(j6);
JTextField jt6=new JTextField(3);
c.add(jt6);
JLabel j7=new JLabel("总费用(元)");
c.add(j7);
JTextField jt7=new JTextField(5);
jt7.setEditable(false);
c.add(jt7);
JLabel j8=new JLabel("平均费用(元)");
c.add(j8);
JTextField jt8=new JTextField(5);
jt8.setEditable(false);
c.add(jt8);
JButton jb1=new JButton("计算");
c.add(jb1);
jt1.addFocusListener(new FocusAdapter()
{
@Override
public void focusGained(FocusEvent e)
{
if (jt1.getText().equals("格式为:0000-00-00")) {
jt1.setText("");
}
}
@Override
public void focusLost(FocusEvent e)
{
if (jt1.getText().equals("")) {
jt1.setText("格式为:0000-00-00");
}
}
});
jt2.addFocusListener(new FocusAdapter()
{
@Override
public void focusGained(FocusEvent e)
{
if (jt2.getText().equals("格式为:0000-00-00")) {
jt2.setText("");
}
}
@Override
public void focusLost(FocusEvent e)
{
if (jt2.getText().equals("")) {
jt2.setText("格式为:0000-00-00");
}
}
});
jb1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
Date d1=Date.valueOf(jt1.getText());//开始日期
Date d2=Date.valueOf(jt2.getText());//结束日期
Calendar c1=Calendar.getInstance();
c1.setTime(d1);
Calendar c2=Calendar.getInstance();
c2.setTime(d2);
int day1=c1.get(Calendar.DAY_OF_YEAR);
int day2=c2.get(Calendar.DAY_OF_YEAR);
int days=day2-day1;
double money1=Double.valueOf(jt3.getText());//月租金
double money2=Double.valueOf(jt4.getText());//业务费
double money3=Double.valueOf(jt5.getText());//其他费用
int man=Integer.valueOf(jt6.getText());//人数
double money4=days/30*money1+money2+money3;
double money5=0.0;
if (man!=0) {
money5=money4/man;
}
else {
money5=money4;
}
jt7.setText(String.valueOf(money4));
jt8.setText(String.valueOf(money5));
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(400,400,500,300);
setVisible(true);
setTitle("租金计算器");
}
public static void main(String[] args) {
ZuJin zj=new ZuJin();
}
}
丑是丑了点 用还是可以用的。
charge = (d2.getTime() - d2.getTime())/(24 * 60 * 60 * 1000);
当charger小于1的时候就会损失精度,即0