- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
import java.util.ArrayList;
import java.util.Collections;
public class AmusementPark {
private ArrayList<Ticket> tickets;
private ArrayList<Merchandise> merchandise;
private String name;
AmusementPark(String name){
this.name=name;
this.tickets = new ArrayList<Ticket>();
this.merchandise= new ArrayList<Merchandise>();
}
void addTicket(long num, String cat, String h, String dt, double pr, boolean pch){
Ticket test = new Ticket(num, cat, h, dt, pr, pch);
tickets.add(test);
}
String getName(){
return name;
}
public ArrayList<String> getTicketDates(){
ArrayList<String> theDateArray= new ArrayList<>();
int i;
for (i=0; i <tickets.size(); i++){
if(tickets .get(i).getPurchased()== false){
theDateArray.add(tickets.get(i).getDate());
}
}
for(int f=0; f<theDateArray.size();f++){
System.out.println(theDateArray.get(f)+ " ");
}
return theDateArray;
}
public int getTickets(String date){
int tix= getTicketDates().indexOf(date);
int occurances= Collections.frequency(getTicketDates(), tix);
if (tix>=0){
System.out.println(occurances);
}
return occurances;
}
}
现在,这是主类......
public class AmusementParkTester {
public static void main(String[] args) {
AmusementPark park1= new AmusementPark("Walden University Park");
park1.addTicket(777, "Child", "Noah Johnson","2017-06-09" , 27.99, false);
System.out.println("The dates in which tickets are available are as follows: ");
park1.getTicketDates();
park1.getTickets("2017-06-09");
}
}
如果我将 item 添加到门票 ArrayList 中,然后打印出 getDate 方法,它会打印出日期 3 次。我尝试了一切,包括取出打印语句并将其放在下一个 } 之外。当我插入中断时,它会给我一个死代码错误。
这个循环的主要作用是获取另一个名为 Tickets 的列表,当 getDate 方法的 boolean 值为 false 时,它将以字符串形式的日期添加到下一个 ArrayList 中。不过,每张票的日期都会打印 3 次。
更新
我将整个类以及主类添加到其中。
getTickets 方法用于搜索日期,并以整数形式返回 ArrayList 中满足该日期的门票数量。
一旦我在主类上调用该方法,它就会重复日期 3 次,并且在下一个方法中仍然没有返回正确的整数。
最佳答案
通常情况下,良好的缩进可以使问题更加清晰。
由于带有 System.out.println
的循环位于另一个循环内,因此您会多次打印 theDateArray
的内容。
假设 tickets
中的所有门票均未购买,则每次都向 theDateArray
添加一个新元素;所以:
将此循环移到另一个循环之外:
for (i=0; i <tickets.size(); i++){
if(tickets .get(i).getPurchased()== false){
theDateArray.add(tickets.get(i).getDate());
}
}
for(int f=0; f<theDateArray.size();f++){
System.out.println(theDateArray.get(f)+ " ");
}
另外,请注意,增强的 for 循环使这变得更加清晰:
for (Ticket t : tickets) {
if (!t.getPurchased()) {
theDateArray.add(t.getDate());
}
}
for (String date : theDateArray) {
System.out.println(date + " ");
}
关于java - 为什么这个循环打印了3次底线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43674615/
一直在使用Vim多年来,一直以来我都接受了bright and distracting the visual bell曾是。最近有人给我看Emacs visual bell ,它只闪烁屏幕的顶行和底行
如何删除 UITableViewController 中的 UISearchBar 底线? 也可以应用 Swift 解决方案。 这是我的 VC 代码: NavigationController.Nav
我有一个 Activity ,我在其中将数据 bundle 到另一个 Activity 。有了这些数据,我还 bundle 了一个自定义颜色,我希望在 Activity 2 中显示 EditText
我有一个应用有时需要其导航栏才能与内容融为一体。 有谁知道如何摆脱这个烦人的小酒吧或改变它的颜色? 在下图的情况下,我说的是“ Root View Controller ”下方的 1px 高度线 最佳
如何删除DataRepeater控件中数据控件项的底部边框线: 最佳答案 您在 DataRepeater 中看到的分隔符项目之间的控制,是非客户区的绘图DataRepeaterItem控制。 你可以找
.segment-button-indicator { -ms-flex-item-align: end; align-self: flex-end;
我是一名优秀的程序员,十分优秀!