我想初始化几个子类并将它们全部放入超类哺乳动物的数组中.使用此代码我得到错误:找不到添加(狼)的合适方法.我不知道我做错了什么,感谢任何帮助.
class gameRunner{
cow Cow = new cow();
wolf Wolf = new wolf();
ArrayList<mammal> mammalArray = new ArrayList<mammal>();
public gameRunner(){
mammalArray.add(Cow);
mammalArray.add(Wolf);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在学习Java的入门课程,我正在建立一个小型图书馆系统,让图书管理员可以添加书籍,列出所有书籍并搜索特定书籍.
它现在正在运作,但在ArrayList一本书中只有标题.我想在图书馆中添加ISBN,作者,出版年份及其当前状态.如何在同一个中添加变量ArrayList?以下是我的ArrayList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
//Array form available books
public final class ListBook {
public static List<String> VALUES = new ArrayList<String>(Arrays.asList(
new String[] {"Book1","Book2","Book3","Book4"}
));
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,另一个重要的类允许图书馆员添加一本新书;
public class InsertBook {
// variables for the book info
public String name_book;
// Importing the list of books
ListBook lb = new ListBook();
// variable for the list of books
private int x;
// Constructors
Scanner input_name = new Scanner(System.in);
public void insertDataBook() …Run Code Online (Sandbox Code Playgroud) 第一次海报,长期潜伏者.
我是第二年计算机科学专业学生,试图编写一个二十一点游戏.这不是一个家庭作业,它只是一个有趣的项目.它没有这样做,所以游戏本身还没准备好,所以请忽略该部分.我花了大约两个小时搜索SO以获得答案,但无法将其他用户的类似问题与我自己的问题进行比较,因此我决定发布我的问题.
我的问题是'deck'ArrayList.从我的Blackjack.java文件中,无论我做什么,我都无法调用它,我无法调用我的Card类中的任何方法,我无法操纵它,我似乎无法做任何事情而不会收到某种错误.
public class Blackjack {
public int bet;
public int earnings = 0;
public int total = 100;
public boolean inputNeeded = true;
public Blackjack() {
Scanner s = new Scanner(System.in);
System.out.println(" Welcome to Blackjack.");
System.out.println(" Enter any key to continue.");
System.out.println(" Otherwise, please type Exit to quit.");
while (!s.nextLine().toString().toLowerCase().equals("exit")) //Main Game Loop - Only ends when user types Exit.
{
while (inputNeeded) {
System.out.println("You currently have $" + total + ".");
System.out.print("Please place your bets now. (Min …Run Code Online (Sandbox Code Playgroud) 我有一个填充了DMatch对象的列表,该对象包含属性"distance".
我想要做的是根据"距离"按升序或降序对该列表进行排序.
在下面的代码中,我使用了Comparator类并逐级排序,但是索引的输出(8,9,10,11)排序不好.
请让我知道我做错了什么以及如何解决这个错误
代码:
Collections.sort(list_RawMatchesMatDMatch, ascOrder);
for (int i = 0; i < list_RawMatchesMatDMatch.size(); i++) {
Log.D(TAG, "main", "rawMatDMatchLiat(" + i + ").distance: " + list_RawMatchesMatDMatch.get(i).distance);
}
static Comparator<DMatch> ascOrder = new Comparator<DMatch>() {
public int compare(DMatch arg0, DMatch arg1) {
// TODO Auto-generated method stub
return (int) (arg1.distance - arg0.distance);
}
};
Run Code Online (Sandbox Code Playgroud)
输出:
Debug: MainClass -> main: rawMatDMatchLiat(0).distance: 454.26645
Debug: MainClass -> main: rawMatDMatchLiat(1).distance: 447.3835
Debug: MainClass -> main: rawMatDMatchLiat(2).distance: 442.294
Debug: MainClass -> main: rawMatDMatchLiat(3).distance: …Run Code Online (Sandbox Code Playgroud) 我有一个String的ArrayList,我想在计算字母顺序后检索名字的第一个和最后一个结果.以下是我的代码片段:
ArrayList<String> list = new ArrayList<String>(20);
list.add("Charles Darwin");
list.add("Albert Einstein");
list.add("Issac Newton");
list.add("Tony Hoare");
list.add("Grace Hopper");
list.add("Edgar Dijkstra");
list.add("Ada Lovelace");
list.add("Charles Babbage");
list.add("Stephen Hawking");
String biggest = "";
String smallest = "";
for (int i = 0; i < list.size(); i++) {
String first = list.get(i);
for (int j = 0; j < list.size(); j++) {
String second = list.get(j);
if (!first.equalsIgnoreCase(second)) {
if (first.compareToIgnoreCase(second)>0){
biggest=first;
}
if (first.compareToIgnoreCase(second)<0){
smallest=first;
}
}
}
}
System.out.println(biggest);
System.out.println(smallest);
Run Code Online (Sandbox Code Playgroud)
我能够检索每个值进行比较,但结果总是显示斯蒂芬霍金是最大和最小的.
我想要的结果是最大的Ada Lovelace和最小的Tony Hoare.
我想知道如何检查以前存储在arraylist中的用户输入.
例如,我要求用户输入我存储在arraylist中的字母.我需要确保他们不再猜相同的信,但我不确定如何.任何提示都表示赞赏.
Scanner scan = new Scanner(System.in);
ArrayList<String>guesses=new ArrayList<String>();
System.out.println("Enter a letter");
String userInput = scan.next();
guesses.add(userInput);
Run Code Online (Sandbox Code Playgroud) 我的Arraylist只存储一个对象.每次输入新对象时,它都会覆盖当前的对象.
通话方式:
public void saveBookingInfo(View view) {
EditText applicantNameText = (EditText) findViewById(R.id.applicantNameTextField);
EditText itemToBurnText = (EditText) findViewById(R.id.itemToBurnTextField);
String appName = applicantNameText.getText().toString();
String appItemToBurn = itemToBurnText.getText().toString();
if (appItemToBurn.isEmpty() || appName.isEmpty()) {
Toast.makeText(BookingScreen.this, "Please fill in all fields.", Toast.LENGTH_SHORT).show();
}
else {
sendApplication.storeApplication(appName, appItemToBurn);
this.finish();
}
}
Run Code Online (Sandbox Code Playgroud)
ArrayList方法:
public void storeApplication(String name, String item){
ArrayList<Application> peopleAttending = new ArrayList<>(10);
peopleAttending.add(new Application(name, item));
}
Run Code Online (Sandbox Code Playgroud) 让我说我有这个循环,我把数据放在ArrayList:
int Num1 = Int32.Parse(textBox1.Text);
int Num2 = Int32.Parse(textBox2.Text);
ArrayList ItemList = new ArrayList();
while (Num1 <= Num2)
{
ItemList.Add(Num1);
Num1++;
}
Run Code Online (Sandbox Code Playgroud)
我有另一个循环来阅读我的Arraylist:
foreach (int item in ItemList)
{
listBox1.Items.Add("Number " + item.ToString() + ",");
}
Run Code Online (Sandbox Code Playgroud)
这给出了这个结果:
Number 1,
Number 2,
Number 3,
Number 4,
Run Code Online (Sandbox Code Playgroud)
我需要删除最后一项中的最后一个逗号并获得此结果:
Number 1,
Number 2,
Number 3,
Number 4
Run Code Online (Sandbox Code Playgroud)
我试过这个:
foreach (int item in ItemList)
{
listBox1.Items.Add("Number " + item.ToString().Trim(',') + ",");
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.有人可以告诉我我做错了什么,以及如何解决它?
我的目标是从文件中读取和写入对象(使用文件I/O).这些对象是存储在动态中的userinput(name,int value,double value等..)arrayList.将arrayList在我的主类中声明.作为我程序的进一步改进,我想将这些数据保存在一个文件中,我已经创建了另一个类ReaderWriter来实现file I/O.
现在,我怎么能得到的参考arrayList在ReaderWriter上课吗?
我的申请很大.我将展示与我的问题相关的部分内容:
主要:
public static void main(String[] args) {
System.out.println("WELCOME TO OUR BANK!\n\n");
List<BankAccount> bankAccounts = new ArrayList<BankAccount>();
}
Run Code Online (Sandbox Code Playgroud)
getter和setter的类:
public class BankAccount {
private String name;
private int accNum;
private double initiateAmount;
//constructor
public BankAccount() {
this.name = null;
this.accNum = 0;
this.initiateAmount = 0;
}
public void setName(String name) {
this.name = name;
.........................
.......................
............
Run Code Online (Sandbox Code Playgroud)
读写器:
public void writeToFile(){
try { …Run Code Online (Sandbox Code Playgroud) 我试图理解inhertitance和ArrayList是如何工作的,所以我有以下代码它有一个类,它是保存数据的数据库
public class Database {
ArrayList<Student> students;
ArrayList<Course> courses;
public boolean doesIDExist(ArrayList<RegistrationSystem> array, int id){
boolean exist = false;
for (RegistrationSystem array1 : array) {
if (array1.getId() == id) {
exist = true;
break;
}
}
return exist;
}
public boolean addStudent(int id, String name, String surname){
if( doesIDExist(students, id)){
return false;
}
students.add(new Student(id, name, surname));
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
学生和课程都是注册系统的子类
public class RegistrationSystem {
protected int id;
public int getId() {
return id;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我在这一行中收到错误:
if( doesIDExist(students, …Run Code Online (Sandbox Code Playgroud)