问题描述
美好的一天, 我有一个项目要做,我必须使用 Redis 位图数据类型创建一个数据库,并编写 Java 代码以使用 GUI 下拉菜单访问数据库。我能够使用排序的集合命令来实现代码,但是我得到的规范是位图数据类型和命令。根据我的理解,位图对字符串进行操作。请问我该怎么办?请在下面找到我的项目和 gui 图像。
/*
* To change this license header,choose License Headers in Project Properties.
* To change this template file,choose Tools | Templates
* and open the template in the editor.
*/
//MAIN PROJECT
package cen414dat;
import java.util.HashMap;
import java.util.Map;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import javax.swing.Icon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
/**
*
* @author ariel
*/
public class CEN414Dat {
static HashMap<Double,String> redisData = new HashMap<Double,String>();
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Todo code application logic here
Jedis jedis = new Jedis("localhost");
Info igr= new Info();
if (jedis.zcard("igr") == null || jedis.zcard("igr") == 0) {
jedis.zadd("igr",(Map) Info.map);}
for(Tuple t: jedis.zrangeByscoreWithscores("igr",100)){
System.out.println(t.getscore());
redisData.put(t.getscore(),t.getElement());
}
ArrayList<String> states = new ArrayList<String>();
for (Map.Entry m : redisData.entrySet()) {
states.add((String)m.getValue());
}
String[] statesArray = new String[states.size()];
states.toArray(statesArray);
JComboBox<String> stateList = new JComboBox<>(statesArray);
stateList.addItemListener(new Handler());
// stateList.addItemListener(null);
// add to the parent container (e.g. a JFrame):
JFrame jframe = new JFrame();
JLabel item1 = new JLabel("IGR STATISTICS FOR H1 2020");
item1.setToolTipText("Done by AJ");
jframe.add(item1);
jframe.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
jframe.setLayout(new FlowLayout());
jframe.setSize(275,180);
jframe.setVisible(true);
jframe.add(stateList);
// get the selected item:
// String selectedBook = (String) stateList.getSelectedItem();
// check whether the server is running or not
System.out.println("Server is running: " + jedis.ping());
//getting the percentage for each state
//
// storing the data into redis database
System.out.println(jedis.zrange("igr",100));
for (Map.Entry m : Info.map.entrySet()) {
System.out.println(m.getKey() + " " + m.getValue());
//jedis.zadd("outofschool",M)
}
}
private static class Handler implements ItemListener{
//
// @Override
// public void actionPerformed(ActionEvent e) {
// JOptionPane.showMessageDialog(null,String.format("%s",e.getActionCommand()));
// }
@Override
public void itemStateChanged(ItemEvent e) {
for (Map.Entry m : redisData.entrySet()) {
if(e.getItem().toString() == m.getValue()&& e.getStateChange() == 1){
JOptionPane.showMessageDialog(null,m.getKey(),"Value in billions",1);
System.out.println(m.getKey());
break;
}
}
}
}
}
/*
* To change this license header,choose Tools | Templates
* and open the template in the editor.
*/
package cen414dat;
import static com.sun.org.apache.xalan.internal.lib.ExsltDynamic.map;
import java.util.HashMap;
/**
*
* @author ariel
*/
//Info project
public class Info {
public static HashMap<Double,String> map = new HashMap<Double,String>();
public Info(){
// IGR statistics in each state
map.put(4.27,"Q1 Abia");
map.put(1.92,"Q2 Abia");
map.put(1.63,"Q1 Adamawa");
map.put(2.12,"Q2 Adamawa");
map.put(12.00,"Q1 Akwa-Ibom");
map.put(4.26,"Q2 Akwa-Ibom");
map.put(4.53,"Q1 Anambra");
map.put(5.01,"Q2 Anambra");
map.put(4.39,"Q1 Bauchi");
map.put(1.37,"Q2 Bauchi");
map.put(2.88,"Q1 Bayelsa");
map.put(2.51,"Q2 Bayelsa");
map.put(3.62,"Q1 Benue");
map.put(1.73,"Q2 Benue");
map.put(3.59,"Q1 Borno");
map.put(1.79,"Q2 Borno");
map.put(3.99,"Q1 CrossRiver");
map.put(4.06,"Q2 CrossRiver");
map.put(19.3,"Q1 Delta");
map.put(11.5,"Q2 Delta");
map.put(4.65,"Q1 Ebonyi");
map.put(1.69,"Q2 Ebonyi");
map.put(9.51,"Q1 Edo");
map.put(4.50,"Q2 Edo");
map.put(1.65,"Q1 Ekiti");
map.put(1.55,"Q2 Ekiti");
map.put(5.95,"Q1 Enugu");
map.put(6.31,"Q2 Enugu");
map.put(20.7,"Q1 FCT");
map.put(14.5,"Q2 FCT");
map.put(11.1,"Q1 Gombe");
map.put(2.68,"Q2 Gombe");
map.put(3.08,"Q1 Imo");
map.put(4.65,"Q2 Imo");
map.put(1.91,"Q1 Jigawa");
map.put(1.10,"Q2 Jigawa");
map.put(10.2,"Q1 Kaduna");
map.put(4.36,"Q2 Kaduna");
map.put(7.85,"Q1 Kano");
map.put(9.66,"Q2 Kano");
map.put(2.10,"Q1 Katsina");
map.put(3.44,"Q2 Katsina");
map.put(2.21,"Q1 Kebbi");
map.put(2.18,"Q2 Kebbi");
map.put(5.42,"Q1 Kogi");
map.put(2.01,"Q2 Kogi");
map.put(7.22,"Q1 Kwara");
map.put(2.14,"Q2 Kwara");
map.put(114.00,"Q1 Lagos");
map.put(90.5,"Q2 Lagos");
map.put(3.03,"Q1 Nasawara");
map.put(2.87,"Q2 Nasawara");
map.put(1.90,"Q1 Niger");
map.put(2.12,"Q2 Niger");
map.put(14.6,"Q1 Ogun");
map.put(9.07,"Q2 Ogun");
map.put(8.16,"Q1 Ondo");
map.put(5.42,"Q2 Ondo ");
map.put(7.02,"Q1 Osun");
map.put(1.94,"Q2 Osun");
map.put(7.35,"Q1 Oyo");
map.put(10.4,"Q2 Oyo");
map.put(7.20,"Q1 Plateau");
map.put(2.20,"Q2 Plateau");
map.put(36.6,"Q1 Rivers");
map.put(27.9,"Q2 Rivers");
map.put(1.58,"Q1 Sokoto");
map.put(3.02,"Q2 Sokoto");
map.put(2.35,"Q1 Taraba");
map.put(1.71,"Q2 Taraba");
map.put(1.96,"Q1 Yobe");
map.put(1.96,"Q2 Yobe");
map.put(3.57,"Q1 Zamfara");
map.put(3.52,"Q2 Zamfara");
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)