试图创建一个简单的程序,有三个文本输入选项.如果用户键入三者中的一个,则程序继续.如果用户键入其他内容,程序将循环返回并再次请求输入,直到给出正确的响应.使用下拉列表或其他方法将不起作用,因为这是一项任务.
System.out.print("Enter one of the following: cheese, water, or burger: ");
userMedium = user_input.nextLine( ); // store user input as a string
mediumConvert = userMedium.toLowerCase();
boolean verifyName;
if (mediumConvert.equals("cheese") || mediumConvert.equals("water") || mediumConvert.equals("burger")){
verifyName = false;
} else {
verifyName = true;
}
while (verifyName = true){
System.out.println("Please input a valid medium (cheese, water, or burger): ");
userMedium = user_input.nextLine( );
mediumConvert = userMedium.toLowerCase();
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所设置的,但这只是不断重复循环OVER AND OVER.在本节之后,我想执行一个switch来处理三个正确响应中的每一个.
我在谷歌和YouTube上花了最后一小时,但我发现的一切都是使用整数.当它只是一个数字和一个操作数时,验证用户输入似乎很容易.但是我如何使用三种可能的字符串?!
我正在格式化我的应用程序以显示与特定工作票据相关的地址.偶尔地址使用第二行.我不想使用以下内容:
<%: ticket.ADDRESS2 %><br />
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果对象为null或空,我仍然得到休息,然后我有一个看起来很有趣的大空间.
我以为我可以生成自己的字符串,然后将其转换为文字,如下所示:
string str = ((Object)ticket.ADDRESS2 != "").ToString();
string sAdd2 = str + <br />;
myLiteral.Text = sAdd2;
Run Code Online (Sandbox Code Playgroud)
但是,如果Object为null或为空,那实际上并没有帮助我(事实上,我甚至不知道它是否有效.
那么我试过这个:
public string sAdd2
{
get
{
Object oAdd2 = ticket.ADDRESS2;
if (oAdd2 != null)
{
string sAdd2 = ((Object)ticket.ADDRESS2 != "").ToString();
}
else
{
string sAdd2 = ((Object)ticket.ADDRESS2 == "").ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我在'get'得到错误(并非所有代码路径都返回一个值).我觉得我想要做一件简单的事情.我只想让我的页面显示
地址第1行
地址第2行
城市,州邮编
要么
地址1号线
城市,州ZIP
任何人有任何指针?我查了一下"条件休息",但没有得到很多有用的回报.