我正在使用ArrayList构建一小部分卡片类.我遇到的问题是,当我尝试调用我的Deck方法填充列表时,我得到一个无法找到符号.代码如下.
package deckofcards;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
class Deck{
ArrayList<String> al = new ArrayList<String>();
//test method
public void main(String[] args){
Scanner input = new Scanner(System.in);
int choice = 9;
al.Deck(); //<--Right here is the problem, it gives Cannot Find Symbol
//Symbol: method Deck() Location: variable al of type
//ArrayList<String>
while(choice != 0){
System.out.println("Shuffle - 1 Display - 2 Exit - 0:");
//didn't finish since it gave an error
}
}
private void Shuffle(){
Collections.shuffle(al);
}
private void Deck(){ …Run Code Online (Sandbox Code Playgroud) 所以基本上现在我有一个列表,为了从列表中删除无效项目我正在循环它并将所有有效项目保存到新列表.循环完成后,我想将旧列表设置为等于新列表.我只是想知道,如果我去
list = newList;
Run Code Online (Sandbox Code Playgroud)
将列出现在是一个指向newList的指针?或者我现在有2个完全独立的清单.
谢谢
我有一个ArrayList定义为:
ArrayList<String[]> params=new ArrayList<String[]>();
Run Code Online (Sandbox Code Playgroud)
它包含String Arrays中的参数("name",value).我想在以下内容中插入元素ArrayList:
params.add({"param1", param1});
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试我得到一个错误.
什么是添加字符串数组的最简单的方法ArrayList.我每次都必须声明一个新阵列吗?
这是我的代码:
private ArrayList<Integer> gradeList;
public void addGrades(Scanner reader) {
int grade = reader.nextInt();
if (grade != -1) {
this.gradeList.add(grade); // --> NullPointerException
}
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么我会得到一个NullPointerException,因为我已经制作了这样的方法,经常没有这个问题.我想把它改成这个:
public void addGrades(Scanner reader) {
int grade = Integer.parseInt(reader.nextLine());
while (true) {
if (grade == -1) {
break;
} else {
this.gradeList.add(grade); // --> NullPointerException
}
}
}
Run Code Online (Sandbox Code Playgroud)
会有所帮助,但它没有解决问题.在这两种情况下,问题都在线上this.gradeList.add(grade).我也尝试在循环之前声明ArrayList在方法中为null,但意识到这是多余的.所以我不确定我做错了什么.
不知道为什么我得到这个奇怪的错误,但是程序也没有编译,所以我为扫描器制作的while循环一定有问题.我从未见过这个特别的错误.
private ArrayList gradeList;
public GradeDistribution() {
this.gradeList = new ArrayList<Integer>();
}
public void addGrades(Scanner reader) {
int grade = Integer.parseInt(reader.nextLine());
while (true) {
if (grade == -1) {
this.printGrades();
break;
} else {
this.gradeList.add(grade); //the error points to this line
}
}
}
Run Code Online (Sandbox Code Playgroud)
我没有包含printGrades()方法,但我向你保证它不是问题的根源.我不知道我做错了什么,因为一切看起来都应该有效.ArrayList已初始化,所以我知道它不是......
我需要将两个值保存到ArrayList的一个单元格中.马上,我正在浏览List并将值加起来.将数据存储到Arraylist最好用的是什么?地图?我试过这样的事情:
List<Map<Integer, Integer>>
Run Code Online (Sandbox Code Playgroud)
但有时我需要获得KEY,有时候需要VALUE,而且很难获得它们.有简单的方法吗?
我有一个名为users的类,它接受用于通过构造函数初始化新用户的参数,如ID,Name,last name,password和权限的整数值
Users temp1 = new Users("id1","name1","lname","pass1",0);
Users temp2 = new Users("id2","name1","lname","pass2",0);
Users temp3 = new Users("id3","name1","lname","pass3",0);
Run Code Online (Sandbox Code Playgroud)
然后我将它们添加到一个列表中,该列表可以跟踪当前创建的所有用户,例如:
datastorage.adduser(temp1);
datastorage.adduser(temp2);
datastorage.adduser(temp3);
Run Code Online (Sandbox Code Playgroud)
我的数据存储类看起来像这样:
public class datastorage {
static ArrayList<Users> userlist = new ArrayList<Users>();
}
public static void adduser(Users temp){
userlist.add(temp);
for (Users user : userlist) {
System.out.println(user.getuserName() + " "+ user.getPassword());
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行adduser方法时,我想检查在控制台中查看添加新用户后我在listofusers中的所有当前用户,而不是打印出来:
id1 pass1
id2 pass2
id3 pass3
Run Code Online (Sandbox Code Playgroud)
我没有得到类似的东西:
id1 pass1
id1 pass1
id2 pass2
id1 pass1
id2 pass2
id3 pass3
Run Code Online (Sandbox Code Playgroud) 我有一个以这种风格设置的数组列表......
我想对它进行排序,以便ArrayList按顺序排列......
如果不使用比较器或其他方法,通过取出数字(将字符串除以空格"?"),比较它们,并将排序后的结果放回ArrayList,最简单,最简单的方法是什么?如果您可以附加您的代码段,那将非常感激.
<%
ArrayList aList=(ArrayList)request.getAttribute("read");
String[] write =aList.toArray(new String[aList.size()]);
%>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我得到了
不兼容的类型:Object []无法转换为String [].
如果我只投了我会得到我想要的答案,我谷歌并得到了很多解决方案,但没有给我一个解决方案,帮我找出这个问题.提前感谢您的回复.
我是来自Java的.net新手.我已经返回一行代码ArrayList,但我知道所有元素都是MyType.我怎样才能轻易地模仿ArrayList?重申一下,我有
ArrayList arr = getArrayList();
Run Code Online (Sandbox Code Playgroud)
而且我要
ArrayList<MyType> arr = getArrayList();
Run Code Online (Sandbox Code Playgroud)
我试过ArrayList<MyType> arr = getArrayList() as ArrayList<MyType>但它说Class 'System.Collections.ArrayList' does not have type parameters