我有一个已经预先输入值的hashmap,并且我正在从用户那里获取更多的值。然后按升序对这些值进行排序。但是在这段代码中,用户输入的值不会插入到HashMap中。
import java.sql.SQLOutput;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
public class CFG {
public static void main(String[] args) {
sortByValueJava8Stream();
}
private static void sortByValueJava8Stream()
{
Map<String, Integer> unSortedMap = getUnSortedMap();
LinkedHashMap<String, Integer> sortedMap = new LinkedHashMap<>();
unSortedMap.entrySet().stream().sorted(Map.Entry.comparingByValue())
.forEachOrdered(x -> sortedMap.put(x.getKey(), x.getValue()));
System.out.println("Sorted Map : " + sortedMap);
}
public static Map<String, Integer> getUnSortedMap() {
Scanner in = new Scanner(System.in);
HashMap<String, Integer> unsortMap = new HashMap<>();
unsortMap.put("Shiran", 342);
unsortMap.put("Hashini", 448);
unsortMap.put("Chanchala", 398);
unsortMap.put("Priyankara", 399);
unsortMap.put("Mayuri", 350);
unsortMap.put("Sameera", 321);
unsortMap.put("Supun", 299);
unsortMap.put("Supuni", 378);
unsortMap.put("Kavindu", 384);
unsortMap.put("Nadeeka", 440);
System.out.println("Do you want to add more players? ");
System.out.println("if yes pres 1 : ");
Integer c = in.nextInt();
if (c == 1) {
addUser();
} return unsortMap;
}
public static void addUser(){
Scanner in = new Scanner(System.in);
Map<String, Integer> unsortMap = new HashMap<>();
System.out.println("Enter name : ");
String a = in.nextLine();
in.nextLine();
System.out.println("Enter Time : ");
Integer b =in.nextInt();
unsortMap.put(a,b);
}
}
我创建了一个名为adduser()的方法,我调用它来添加新值。但它不能输入数据。我该怎么解决这个?
这样做的一种方法是全局声明unsortMap映射,以便在其他方法中使用它。问题出在addUser
方法上,因为它创建了一个本地unsortmap
,而在函数完成后,该方法从未使用过。另一种方法是将unsortMap映射作为参数传递给AddUser
方法,并放置所需的对。
以下是修改后的工作代码。
class CFG
{
static Map<String, Integer> unsortMap; // global declaration of Map
public static void main(String[] args)
{
sortByValueJava8Stream();
}
private static void sortByValueJava8Stream()
{
Map<String, Integer>unSortedMap = getUnSortedMap();
LinkedHashMap<String, Integer> sortedMap = new LinkedHashMap<>();
unSortedMap.entrySet().stream().sorted(Map.Entry.comparingByValue())
.forEachOrdered(x -> sortedMap.put(x.getKey(), x.getValue()));
System.out.println("Sorted Map : " + sortedMap);
}
public static Map<String, Integer> getUnSortedMap()
{
Scanner in = new Scanner(System.in);
unsortMap = new HashMap<>(); // Initializing the Map
unsortMap.put("Shiran", 342);unsortMap.put("Hashini", 448);
unsortMap.put("Chanchala", 398);unsortMap.put("Priyankara", 399);
unsortMap.put("Mayuri", 350);unsortMap.put("Sameera", 321);
unsortMap.put("Supun", 299);unsortMap.put("Supuni", 378);
unsortMap.put("Kavindu", 384);unsortMap.put("Nadeeka", 440);
System.out.println("Do you want to add more players? ");
System.out.println("if yes pres 1 : ");
Integer c = in.nextInt();
if (c == 1)
addUser();
return unsortMap;
}
public static void addUser()
{
Scanner in = new Scanner(System.in);
System.out.println("Enter name : ");
String a = in.nextLine();
System.out.println("Enter Time : ");
int b = in.nextInt();
unsortMap.put(a,b);
}
}
嘿,伙计们,这是我第一次使用MPandroidChart,我目前正在试用它,以充分了解如何使用它及其功能。目前,我正在尝试使用用户输入的数据(通过片段)更新我的折线图。我已经看到了一些关于堆栈溢出的类似问题,但它们似乎都不适合我。 任何帮助都将不胜感激。提前感谢。 注意:有一些重复的代码,因为我正在试验并试图找出不同的方法来寻找解决方案。 获取用户输入的MainFragment MPandroid
我试图在PlayerOne类中放入一个while循环,这样就可以通过用户输入来选择玩家的职业。我不知道怎么让它起作用。你能给我一个建议或提示吗?谢谢!(我想你不需要玩家类或者主类,所以我就让他们置身事外)
我试图构建一个通过扫描仪构建的整数ArrayList。用户必须输入5到10个整数才能使ArrayList有效,但在运行程序时,实际输入数将是未知的。 如何构建程序,使其只在用户输入5、6、7、8、9或10个整数时运行?
问题内容: 如何将字形图标添加到文本类型输入框?例如,我想在用户名输入中包含“ icon-user”, 问题答案: 没有引导程序: 我们将稍后介绍Bootstrap,但这是基本的CSS概念,您可以自己做。正如猎物所指出的那样,您可以通过将CSS绝对放置在输入元素内部的图标来使用CSS。然后在任一侧添加填充,以使文本不会与图标重叠。 因此,对于以下HTML: 您可以使用以下CSS左右对齐字形: De
问题内容: 我正在尝试提供一组可以重复或删除的输入。 我发现并使用了以下方法的组合:https : //jsfiddle.net/69z2wepo/36745/ 并且(因为上面的代码无法处理删除操作):https : //codepen.io/lichin-lin/pen/ MKMezg 我可能不需要指向一个特定的输入,因为在我的界面中,您应该始终只添加一个新的(如果之前的一个已填充)(我将在稍后
我如何添加任何类型的输入字段与一个按钮(添加提示结帐),让客户添加百分比,并单击此按钮,这将激发上面找到的行动。或者,如果我可以在没有按钮的情况下通过Ajax/jQuery进行操作(不刷新页面),那会更好。 如有任何帮助,不胜感激。