我只允许在我的主菜单中有4个选项,我创建了5个。我不知道如何把最后2个输出语句放在一起,这样一个语句就可以从另一个语句的内部调用。因此它们可以使用相同的菜单选项。
选项3和选项4需要以某种方式在彼此内部,这样我就可以显示输入的所有联系人的名称,然后提示用户选择联系人ID,以显示该联系人的其余详细信息。
package ooo1;
import java.util.ArrayList;
import java.util.Scanner;
public class ContactList {
public static void main(String[] args) {
ArrayList<Contact> contacts = new ArrayList<>();
Scanner input1 = new Scanner(System.in);
int type = 0;
while(type != 5){
System.out.println("Please select an option: ");
System.out.println("Add a Personal Contact: Enter 1 ");
System.out.println("Add a Business Contact: Enter 2 ");
System.out.println("Display Contacts List: Enter 3 ");
System.out.println("Display Contact Details: Enter 4 ");
System.out.println("To Quit: Enter 5 ");
type = input1.nextInt();
if(type == 5){
System.out.println("Goodbye ");
break;
}
if (type == 1 || type == 2){
Contact contact = null;
Scanner input = new Scanner(System.in);
System.out.println("Please enter ContactId : ");
String contactId = input.nextLine();
System.out.println("Please enter First Name : ");
String firstName = input.nextLine();
System.out.println("Please enter Last Name : ");
String lastName = input.nextLine();
System.out.println("Please enter Address in the following format : ");
System.out.println("Street Address, City, State, Zip Code");
String address = input.nextLine();
System.out.println("Please enter Phone Number : ");
String phoneNumber = input.nextLine();
System.out.println("Please enter Email Address : ");
String emailAddress = input.nextLine();
//Create a personal contact.
if(type == 1){
System.out.println("Please enter Birthday: ");
String dateofBirth = input.nextLine();
Contact pcontact = new PersonalContact(contactId, firstName, lastName, address, phoneNumber, emailAddress, dateofBirth);
contacts.add(pcontact);
System.out.println("Contact Added Successfully");
System.out.println();
}
//Create a business contact.
else if(type == 2){
System.out.println("Please enter Job Title: ");
String jobTitle = input.nextLine();
System.out.println("Please enter Organization: ");
String organization = input.nextLine();
Contact bcontact = new BusinessContact(contactId, firstName, lastName, address, phoneNumber, emailAddress, jobTitle, organization);
contacts.add(bcontact);
System.out.println("Contact Added Successfully");
System.out.println();
}
}
if (type == 3 || type == 4){
//Print full name of each Contact.
if(type == 3){
for (Contact namecontact: contacts)
{
System.out.println(namecontact.displayFullName());
System.out.println();
}
}
//Print contact details for selected contact.
else if(type == 4){
System.out.println("Enter a Contact ID to display Contact Details: ");
Scanner input2 = new Scanner(System.in);
String soughtID;
soughtID = input2.nextLine();
for (Contact showcontact1: contacts)
{
if (showcontact1.displayId().equals(soughtID))
System.out.println(showcontact1.displayContact());
System.out.println();
}
}
}
}
}
}
package ooo1;
public abstract class Contact {
String contactId;
String firstName;
String lastName;
String address;
String phoneNumber;
String emailAddress;
public Contact(String contactId,String firstName,String lastName, String address, String phoneNumber, String emailAddress)
{
this.contactId = contactId;
this.firstName = firstName;
this.lastName = lastName;
this.address = address;
this.phoneNumber = phoneNumber;
this.emailAddress = emailAddress;
}
public void setContactId(String input){
this.contactId = input;
}
public String getContactId(){
return contactId;
}
public void setFirstName(String input){
this.firstName = input;
}
public String getFirstName(){
return firstName;
}
public void setLastName(String input){
this.lastName = input;
}
public String getLastName(){
return lastName;
}
public void setAddress(String input){
this.address = input;
}
public String getAddress(){
return address;
}
public void setPhoneNumber(String input){
this.phoneNumber = input;
}
public String getPhoneNumber(){
return phoneNumber;
}
public void setEmailAddress(String input){
this.emailAddress = input;
}
public String getEmailAddress(){
return emailAddress;
}
@Override
public String toString(){
return ("ContactID: " + this.getContactId() + "\nFirst Name: " + this.getFirstName() + "\nLast Name: " + this.getLastName() + "\nAddress: " + this.getAddress() + "\nPhone Number: " + this.getPhoneNumber() + "\nEmail Address " + this.getEmailAddress());
}
public String displayFullName(){
return ("ContactID: " + this.getContactId() + "\nFirst Name: " + this.getFirstName() + "\nLast Name: " + this.getLastName());
}
public String displayContact(){
return ("ContactID: " + this.getContactId() + "\nFirst Name: " + this.getFirstName() + "\nLast Name: " + this.getLastName() + "\nAddress :" + this.getAddress() + "\nPhone Number :" + this.getPhoneNumber() + "\nEmail Address " + this.getEmailAddress());
}
public String displayId(){
return (this.getContactId());
}
}
以下是更改前的输出结果和更改后的输出结果。
这是我之前的改变,这是好的,除了我在主菜单中有太多的选项。
请选择一个选项:添加个人联系人:输入1添加业务联系人:输入2显示联系人列表:输入3显示联系人详细信息:输入4退出:输入5 3联系人:2名:汤姆姓:琼斯
输入联系人ID以显示联系人详细信息:12个人联系人:Contactid:12名:Tom姓:Hones地址:234 south st电话号码:234-232-2356电子邮件地址:thones@www.com出生日期:12-12-45
联系人:1名:简姓:史密斯
因此,如果我理解正确,您希望嵌套选项3和4,以便选项3显示所有联系人,然后提供显示特定联系人的选择:
// Other menu code here...
System.out.println("Query Contacts: Enter 3");
System.out.println("To Quit: Enter 4");
// Other code here...
// Bring up sub-menu
// Feel free to extend to return to main menu etc.
if (type == 3){
while (true) {
System.out.println("List Contacts: Enter 1");
System.out.println("Display Contact Details: Enter 2");
System.out.println("To Quit: Enter 3");
// If you need, store in another int etc.
type = input1.nextInt();
//Print full name of each Contact.
if (type == 1) {
for (Contact namecontact: contacts) {
System.out.println(namecontact.displayFullName());
System.out.println();
}
}
//Print contact details for selected contact.
else if(type == 2){
System.out.println("Enter a Contact ID to display Contact Details: ");
Scanner input2 = new Scanner(System.in);
String soughtID;
soughtID = input2.nextLine();
for (Contact showcontact1: contacts) {
// Although correct, I'd recommend you add a braces for if statements
// Saving a line for a closing brace is not generally worth it
if (showcontact1.displayId().equals(soughtID))
System.out.println(showcontact1.displayContact());
System.out.println();
}
} else if (type == 3) {
break;
}
}
}
我试着比较两个值 我得到一个错误
Cooper编写了以下onEdit脚本,用于在从下拉列表中选择列标题名称时对列进行排序: 这工作得很好,但是我现在想根据从下拉列表中选择的列标题名称来更改升序真/假标准。因此,我修改了脚本,目的是当从下拉列表中选择“分支”、“报告者”或“雇员”时,所选列将按升序排序,但如果选择了任何其他标题名称,我希望这些标题名称按降序排序。这是我修改的脚本,但我不能让它发挥作用: 在其他工作表中,我已经能够修改
问题内容: 我有两个像这样的数组: 我想结合这两个数组,使其不包含重复项,并保留其原始键。例如,输出应为: 我已经尝试过了,但是它正在更改其原始键: 有什么办法吗? 问题答案: 只需使用: 那应该解决。因为如果一个键出现多次(例如在您的示例中),则使用字符串键,因此一个键将覆盖具有相同名称的处理键。因为在您的情况下,它们两者都具有相同的值,但这无关紧要,并且还会删除重复项。 更新:我刚刚意识到,P
寻找一种优雅的方式以特殊的方式合并两个散列数组: 如果名称关键字匹配,则结果必须包含< code>new_data的所有名称散列,仅包含< code>old_data的额外数据。 我的第一次尝试是这样的,但是它创建了一个额外的散列:
我有两个嵌套的IF语句。。 <代码>=如果($B3=$K$3,日期(年(D3)$L$3,月(D3)$M$3,天(D3)),如果($B3=$K$4,日期(年(D3)$L$4,月(D3)$M$4,天(D3)),如果($B3=$K$5,日期(年(D3)$L$5,月(D3)$M$5,天(D3)),如果($B3=$K$6,日期(年(D3)$L$6,月(D3)$M$6,天(D3)),“”) 和
问题内容: 我有两个数组,我想将这两个数组合并为一个数组。请查看以下详细信息: 第一个数组: 第二个数组: 我想要这个结果。有人知道该怎么做吗? 希望你理解这个问题。先感谢您。 问题答案: 已修正 (再次) 接受无限数量的输入数组,将所有子数组作为索引数组合并到一个容器中,然后返回结果。 编辑03/2014: 提高可读性和效率