所以我正在尝试在Code Academy上创建一个项目,并且我一直在研究过去的代码。基本上,我已将书籍放入一个程序中,该程序将告诉我哪些已经完成,哪些尚未完成。为此,我稍后在代码中创建一个HashMap。我一直在为每个循环遇到问题(它应该检查书是否被读取,然后打印已完成的书),我认为我在代码中定义特定变量时存在问题(但是我早些时候创造了这个对象......也许吧?无论如何,这是我的代码。有人能看出它有什么问题吗?
import java.util.HashMap;
public class Library {
public Library() {
}
public void getFinishedBooks(HashMap<String, Boolean> library) {
if (library.size() < 1) {
System.out.println("Error, HashMap is empty.");
} else {
for (HashMap<String, Boolean> entry : library.entrySet()) {
String key = entry.getKey();
Boolean value = entry.getValue();
if (value) {
System.out.println(key);
}
}
}
}
public static void main(String[] args) {
HashMap<String, Boolean> myBooks = new HashMap<String, Boolean>();
myBooks.put("Road Down The Funnel", true);
myBooks.put("Rat: A Biology", false);
myBooks.put("TimeIn", true);
myBooks.put("3D Food Printing", false);
Library myLibrary = new Library();
myLibrary.getFinishedBooks(myBooks);
}
}
谢谢!
答案 0 :(得分:1)
使用Entry更改HashMap,在此行中:
for (Entry<String, Boolean> entry : library.entrySet())
library.entrySet()返回Map.Entry,而不是HashMap。
答案 1 :(得分:0)
正如您所见here,Map#entrySet返回一组Entrys,但在for-each循环中,您尝试将其转换为HashMap
答案 2 :(得分:0)
将您的代码更改为getFinishedBooks()
中的以下代码$(function() {
$(".submit_button").click(function() {
var textcontent = $("#content").val();
//var textcontent1 = $("#content1").val();
var dataString = 'content='+ textcontent;
//var dataString1 = 'content1='+ textcontent1;
if(textcontent=='')
{
alert("Enter some text..");
$("#content").focus();
//$("#content1").focus();
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<span class="load">Loading..</span>');
$.ajax({
type: "POST",
url: "action.php",
data: dataString,
// data1: dataString1,//dataString1,
cache: true,
success: function(html){
$("#show").after(html);
document.getElementById('content').value='';
//document.getElementById('content1').value='';
$("#flash").hide();
$("#content").focus();
//$("#content1").focus();
}
});
}
return false;
});
});