新人javas的scanner提问,请问我哪里写错了?原因是什么啊?应该怎么写啊?

作者&投稿:姓逄 (若有异议请与网页底部的电邮联系)
java Scanner那里错了?~

因为sc.next()返回的值是string,所以强行转为char会报错:正确写法如下,请参照:
public class TestDemo {public static void main(String[] args) {System.out.println("请输入成绩(A,B,C,D,E):");Scanner scanner=new Scanner(System.in);String grade;grade=scanner.next();switch (grade) {case "A":System.out.println("优秀");case "B":System.out.println("良好");case "C":System.out.println("中等");case "D":System.out.println("及格");case "E":System.out.println("不及格");default:System.out.println("输入错误");}}}

Scanner对象是用来接收用户输入的,请输入姓名的下一条代码String a=input1.next()是等待你输入字符后和按回车键,回车之后成功把你输入的字符赋值给a之后才会执行下一条语句,这就是打印"请输入年龄"

你这里只是创建了对象,不能直接使用对象来判断数字大小。你要和一个数字判断大小起码他的数据类型应该是int,long,double这些数字类型的。

还有else后面如果没有条件的话就不要括号了


//考试分数大于60是及格,小于60是不及格
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext())//循环判断输入
{
if (scanner.hasNextInt())//输入的是数字
{
int num = scanner.nextInt();

if (num >= 60) {
System.out.println(num+"分,及格");
}else{
System.out.println(num+"分,不及格");
}
break;//判断一次跳出,如果想多次判断就注释了
}
else
{
System.out.println("请输入数字");
scanner.next();
}
}

scanner.close();



scanner监听console输入的值,可以判断一下是int(数字类型)还是String(字符类型);

然后下面也可以写成

if(score>=60){

System.out.println("合格");

}else if(score<60){

System.out.println("不合格");

}



首先Scanner类型与int类型作对比要做类型强转的,或者使用Scanner类的对比方法;
其次输出语句写的错了,+号是不能放到最前面的,要放到scanner与字符串””之间,应该这样System.out.println(scanner+"及格");
望采纳!如赞同请点赞!您的肯定就是我的动力!

scanner是变量,不是数据类型,不可以直接参与判断,你得先使用scanner的方法将其转换为数据类型再进行判断
比如输入的是数字,使用scanner.nextInt()或scanner.nextdouble()等
如果输入的是字符串,使用scanner.next()或scanner.nextLine()等
你看方法的返回值,如果返回的是基本数据类型,就表示可以参与判断,如果返回的是void则不可以参与判断

import java.security.acl.Group;
import java.util.Scanner;

public class gameDriver {

public static Scanner scan = new Scanner(System.in);
public static Group g[] = new Group[2];
private static int menuChoice;
private static int groupChoice;

public gameDriver()
{
menuChoice = -1;
groupChoice = -1;

}

public static void menu()
{
System.out.print("<-- System Menu -->\n1. Add teams to group\n2. Input match result\n3. Display group ladders\n4. Display final standings\n5. Quit\n\nWhat do you want to do?: ");
menuChoice = scan.nextInt();

if(menuChoice==1)
{
setGroup();
}
else if(menuChoice==2)
{

}
else if(menuChoice==3)
{

}
else if(menuChoice==4)
{

}
else if(menuChoice==5)
{

}
else
{

}

}

public static void setGroup()
{
String teamName = new String();
String teamLocation = new String();

System.out.print("\nDo you want to add the teams to group 1 or 2: ");
groupChoice = scan.nextInt(); ///scan use good

//g[groupChoice-1]= new Group(groupChoice);

for(int i = 0; i<=3;i++)
{
System.out.print("\n\nAdding a team.\nWhat is the name of the team: ");
//teamName = scan.nextLine();
teamName = scan.next();
System.out.print("\nWhere is the team from: ");
//teamLocation = scan.nextLine();
teamLocation = scan.next();
//g[groupChoice].t[i]= new Team(teamLocation,teamName);

}

System.out.print("\n\nGroup "+groupChoice+" is now full.");

}

public static void main(String[] args)
{

menu();

}
}
本回答由提问者推荐
抢首赞
评论
分享
举报收起

lang2ku
2010-05-27
关注
public static void setGroup()
{
String teamName = new String();
String teamLocation = new String();

这是什么? 不是数组 也不是list 也不是变量

(我是菜鸟)

java输入语句
答:System.in读取标准输入设备数据(从标准输入获取数据,一般是键盘),其数据类型为InputStream。Scanner in=new Scanner(System.in);是新建一个扫描器,扫描你输入(从标准输入获取数据,一般是键盘)的内容。

怎么使用Java scanner 输入一个名字然后印出 ”hello,名字“
答:public class GreeterMain { public static void main(String[] args) { System.out.print("Please enter your name:"); Scanner s = new Scanner(System.in); String name = s.nextLine(); Greeter greeter = new Greeter(name); greeter.greet(); }} ...

Scanner input=new Scanner 在JAVA中是什么意思啊~~~!求解~~!_百度知 ...
答:Scanner input= new Scanner() ;声明一个Scanner类的对象,并实例化 也可以写成 Scanner input; //声明一个Scanner类的对象 , input 被初始化,并且 input = null;input = new Scanner() ;//实例化该对象,,,用 new 分配内存空间给input ...

java如何输入一个字符? 还有输入“5,6”如何输出它们的值;
答:/ 这是一个可执行例子,不知道是不是你想要的,有问题请留言。/ import java.util.Scanner;public class ScanDemo { public static void main(String[] args) { //定义输入对象 / new Scanner()---定义一个输入流对象 System.in 叫做标准输入.因为输入的方式很多,键盘输入,扫描输入等等。所谓的...

java中 如何在 Scanner 输入时 同时给两个对象赋值。 比如输入 4 3...
答:Scanner s = new Scanner(System.in);int x = s.nextInt();int y = s.nextInt();输入4 5 就会自动给x和y赋值了。

Java编写一个应用程序,用户从键盘输入一行含有数字字符的字符串,程序...
答:实现你爹功能,用正则表达式处理选择字符的问题 import java.util.Scanner;//java.util.Scanner的使用 public class h { public static void main(String args[]){ Scanner input = new Scanner(System.in);System.out.println("请输入字符:");while (input.hasNext()) { String a = input.next...

JAVA请从控制台输入一个整数N,随机产生该N*N范围内的数字(含1和N),不...
答:import java.util.Scanner;import java.util.Random;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in);Random random = new Random();System.out.print("请输入一个整数N:");int n = input.nextInt();if (n < 1) { System.out....

怎样用scanner向Arrarlist建立的集合了赋值十个整数值?
答:假设您已经创建了一个ArrayList对象来存储整数,可以通过以下步骤使用Scanner从控制台输入十个整数值并将它们添加到ArrayList中:导入java.util.Scanner和java.util.ArrayList类:import java.util.Scanner;import java.util.ArrayList;创建Scanner对象以从控制台读取输入:Scanner scanner = new Scanner(System.in...

scanner sc = new scanner是什么意思?
答:sc.nextDouble();等待输入一个double类型的数值。当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。java工作原理:当编辑并运行一个Java程序时,需要同时涉及...

编写一个JAVA程序读取0到50(包含两者)范围内的任意多个整数,并且计算每...
答:public class Test { public static void main(String[] args) { Map<Integer, Integer> map = new HashMap<>(); Scanner scanner = new Scanner(System.in); System.out.println("请输入0到50范围的数(输入-1结束)"); int num; // 输入 -1 则输入结束 while ((...