这是我的第一次询问,很抱歉,如果我搞砸了什么。 我有一个使用Java流畅接口实现Mail的任务。 我必须有字段:From,To,Subject。
问题是,我不能将“From”显示为第一个也是唯一一个。 例: MailBuilder builder = new MailBuilder(); builder.from(“Stiliyan”)。((“Alexander”)。subject(“欢迎乘坐”);
但是当我输入第一个点“。”所有这些都出现了。 (例如,builder.to(“a”)。from(“b”)..)
简而言之:建造者。(此处只能出自“来自”)。(“不用担心”)......“
答案 0 :(得分:2)
然后,每个构建器方法的声明的返回类型不能相同。您仍然可以返回相同的构建器实例。例如:
void addBook(struct Book book[], int *size) {
if (*size == MAX_BOOKS) {
printf("The inventory is full\n");
}
else {
printf("ISBN:");
scanf("%d", &book[*size]._isbn);
printf("Title:");
scanf("%s", book[*size]._title);
getchar();
printf("Year:");
scanf("%d", &book[*size]._year);
printf("Price:");
scanf("%f", &book[*size]._price);
printf("Quantity:");
scanf("%d", &book[*size]._qty);
*size++;
printf("The book is successfully added to the inventory.\n");
}
return book;
}
int main(void) {
struct Book book[MAX_BOOKS];
int size = 0;
int i;
int option;
printf("Welcome to the Book Store\n");
printf("=========================\n");
do {
menu();
printf("Select: ");
scanf("%d", &option);
switch (option) {
case 0:
printf("Goodbye!\n");
break;
case 1:
displayInventory(book, size);
break;
case 2:
addBook(book, &size);
break;
case 3:
//checkPrice();
break;
default:
printf("Invalid input, try again:\n");
}
} while (option != 0);
}