做平均成绩的作业,我想存储用户名。到目前为止工作正常,如果他们按1它要求输入名称,按2退出,按3它会提示错误并退出。
但我如何存储用户名?它是布尔值还是字符串?
我将变量保存为:String name; 从扫描程序读取的输入行是:name = dylan.nextString();
我似乎无法找到如何保存用户输入
import java.util.Scanner;
public class Assignment3
{
public static void main( String[] args )
{
Scanner dylan = new Scanner( System.in );
double homework;
double quiz;
double test;
int choice;
String name; <------ Here
System.out.println( "Enter 1 or 2: \n 1 - Average grades \n 2 - Quit" );
choice = dylan.nextInt();
if ( choice == 1 )
{
System.out.println( "What is your name?" );
name = dylan.nextString(); <----- Here
}
if ( choice == 2 )
{
System.out.println( "Exiting program." );
}
else
{
System.out.println( "Invalid response, exiting program." )
}
}
}
答案 0 :(得分:0)
nextString()
类不存在的Scanner
所以这样:
name = dylan.nextLine();
是的,名称存储为String
boolean
只有两个值:true
或false
同样改变这个:
if ( choice == 2 )
到
else if ( choice == 2 )
原因是因为您的代码是,它会检查choice == 1
是否属实,然后检查是否choice == 2
,即使choice == 1
已经因为它没有'如果是 else 。
然后显然因为如果choice == 1
那么它也不能是choice == 2
所以它会进入else
块并执行该代码,以及choice == 1
的块1}}
答案 1 :(得分:0)
package com.project.stackoverflow;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Assignment3 {
public static void main(String[] args) {
Scanner dylan = new Scanner(System.in);
double homework;
double quiz;
double test;
int choice;
String name;
// Note the changes
List<String> names = new ArrayList<String>();
System.out.println("Enter 1 or 2: \n 1 - Average grades \n 2 - Quit");
choice = dylan.nextInt();
if (choice == 1) {
System.out.println("What is your name?");
name = dylan.next();
//This list will have the name of the user.
names.add(name);
System.out.println("Your Name--"+name);
//System.out.println("Stored List--"+names);
}
else if (choice == 2) {
System.out.println("Exiting program.");
}
else {
System.out.println("Invalid response, exiting program.");
}
// close the Scanner object
dylan.close();
}
}
找到相同的代码。我对它做了一些改动。 用户名是存储在“名称”中的字符串。另一个List'名字'也是一样的。 试试吧。它应该工作正常。 虽然我已经为你编辑了这个,但在这种情况下,请使用switch case而不是if-else。希望能帮助到你。快乐编码:)
答案 2 :(得分:0)
您没有使用任何循环,因此我认为您只需要存储一个名称
试试这个
import java.util.Scanner;
public class Assignment3
{
public static void main(String[] args) {
Scanner dylan = new Scanner(System.in);
double homework;
double quiz;
double test;
int choice;
String name = "";// Here
System.out.println("Enter 1 or 2: \n 1 - Average grades \n 2 - Quit");
choice = dylan.nextInt();
if (choice == 1) {
System.out.println("What is your name?");
name = dylan.next(); // Here
}
else if (choice == 2) {
System.out.println("Exiting program.");
}
else {
System.out.println("Invalid response, exiting program.");
}
System.out.println("Thank You! The name entered is :" + name);
}
}