【发布时间】:2020-02-29 03:07:33
【问题描述】:
我想知道如何遍历数组列表并打印出所有包含用户放入扫描仪中的数字的索引。如果数字不在扫描仪中,那么它将打印出不在列表中的值。我的程序中有两个课程。
下面是我的娱乐课:
public class Real_Entertainment
{
String BookName;
String Author;
double Rating;
int Purchases;
public Real_Entertainment(String BookName, String Author, double Rating, int Purchases)
{
this.BookName = BookName;
this.Author = Author;
this.Rating = Rating;
this.Purchases = Purchases;
}
public void setBookName(String BookName)
{
this.BookName = BookName;
}
public void setAuthor (String Author )
{
this.Author = Author;
}
public void setRating (double Rating)
{
this.Rating = Rating;
}
public void setPurchased (int Purchases)
{
this.Purchases = Purchases;
}
}
下面是包含arraylist的主类:
import java.util.Scanner;
import java.util.ArrayList;
public class Real_Main
{
public static void main(String[] args)
{
ArrayList<Real_Entertainment> print = new ArrayList<Real_Entertainment>();
Real_Entertainment Book1 = new Real_Entertainment("The Nickel Boys ", "Colson Whitehead", 4.3, 500000);
Real_Entertainment Book2 = new Real_Entertainment("Olive, Again", "Elizabeth Strout", 6, 321000);
Real_Entertainment Book3 = new Real_Entertainment("Gingerbread", "Helen Oyeyemi", 2, 681000);
Real_Entertainment Book4 = new Real_Entertainment("On Earth We're Briefly Gorgeous", "Ocean Vuong", 2, 421000);
print.add(Book1);
print.add(Book2);
print.add(Book3);
print.add(Book4);
findPrimitiveValue(print);
}
public static void findPrimitiveValue(ArrayList<Real_Entertainment> print)
{
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a Numeric Value:" );
int input = scanner.nextInt();
boolean foundInfo = false;
for(int i = 0; i < print.size(); i++)
{
if(print.get(i).() == input || print.get(i).() == input)
{
System.out.println("This is the information found: " );
System.out.println()
}
}
}
}
我尝试将购买的值设置为用户输入的值,但一直出错。
【问题讨论】:
-
“我一直收到错误消息。” - 你能把错误包括进来吗?
-
当然,线程“main”java.lang.Error 中的异常:未解决的编译问题:方法 getPurchases() 未定义 Real_Entertainment 类型的方法 getPurchases() 未定义类型 Real_Entertainment跨度>
-
嗯,那是不言自明的。你没有方法
getPurchases()... -
我明白,但是我会用什么来检查它是否匹配,我有一个名为 getPurchases() 的方法
-
if(print.get(i).getPurchases() == input)虽然我必须说print是一个可怕的对象列表名称...考虑将其命名为realEntertainments。使用有意义的变量名。