i_ID
当我运行此代码时,我在#include <string.h>
#include<stdio.h>
#include<stdlib.h>
typedef struct bank
{
char an;
char name;
char type;
int bal;
};
int main()
{
int i=0,n;
printf("Enter the number of accounts\n");
scanf("%d",&n);
struct bank a[n];
printf("Enter the details of the users\n");
for(i=0;i<n;i++)
{
scanf("%s%s%s%d",a[i].an,a[i].name,a[i].type,&a[i].bal);
}
printf("The details of the users are\n");
for(i=0;i<n;i++)
{printf("%s\n%s\n%s\n%d\n\n",a[i].an,a[i].name,a[i].type,a[i].bal);}
char atype[10];
printf("Enter the type of account you want to search\n");
scanf("%s",atype);
char typ[10];
char s[]="savings";
char c[]="current";
int result,res1,res2;
result = strcmp(atype,s);
if(result == 0)
{
for(i=0;i<n;i++)
{
typ[10] = a[i].type;
res1 = strcmp(typ,s);
if(res1 == 0)
{
printf("%s\n%s\n%s\n%d\n\n",
a[i].an,a[i].name,a[i].type,a[i].bal);
}
printf("\n");
}
} else
{
for(i=0;i<n;i++)
{
typ[10] = a[i].type;
res2 = strcmp(typ,c);
if(res2 == 0)
{
printf("%s\n%s\n%s\n%d\n\n",
a[i].an,a[i].name,a[i].type,a[i].bal);
}
printf("\n");
}
}
}
和 public void rentMovie(){
System.out.println("ENter a customer ID: ");
int ID =In.nextInt();
System.out.print("Enter a movie: ");
String name=In.nextInt();
for(Customer customer:customers){
Optional<Movie> movie = catalogue.getMoviesAvailable().stream().filter(b -> b.getTitle().equals(movieName)).findFirst();
if(movie.isPresent()) {
catalogue.getMoviesAvailable().remove(movie.get());
catalogue.getMoviesRented().add(movie.get());
customer.getCurrentlyRented().add(movie);
customer.getRentingHistory().add(movie.get());
}
}}
你能告诉我如何纠正这个问题吗?
客户类
customer.getCurrentlyRented().add(movie);
目录类
customer.getRentingHistory().add(movie.get());
在租借电影的同时,还应该在租借电影课上更新目前的租房和租房历史。
答案 0 :(得分:3)
您的列表未初始化。
你应该在构造函数中给出一个空列表
stbi_load("dvd_logo2.png", &width, &height, &nrChannels, 4);
答案 1 :(得分:0)
您确定从流中收到了一部电影吗?声明一个Movie而不是一个可选项可能更好。
我愿意:Movie movie = catalogue.getMoviesAvailable().stream().filter(b -> b.getTitle()toLowerCase().equals(movieName.toLowerCase())).findFirst();
注意toLowerCase()。
方法是isPresent()一个自定义类吗?你可能想尝试一下
if(movie != null)
我希望这有效。否则,如果您的过滤器中有匹配项,我会使用调试器手动查看