关于java:我有一个“错误:令牌上的语法错误,错位的构造”。

I'm having an “Error: Syntax error on token(s), misplaced construct(s)”. Where is my error?

进出口趋势图

公共课

……

公共静音主机

……

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
char grade;

String input;

Scanner keyboard = new Scanner(System.in);

System.out.println("Enter grade awarded");

input = keyboard.nextLine();

grade = input.charAt(0);

switch (grade)

{

  case 'A':

    System.out.println("Grade was between" + 89.5 - 100);

    break;

  case 'B':

    System.out.println("Grade was between" + 79.5 - 89.45);

    break;

  case 'C':

    System.out.println("Grade was between" + 69.5 - 79.49);

    break;

  case 'D':

    System.out.println("Grade was between" + 59.5 - 69.49);

    break;

  case 'F':

    System.out.println("Grade was below" + 59.5);

    break;  

    System.out.println("Invalid grade inputted");

}

4 Errors Found:File:C:Error:the Operator-is undefined for the argument type(s)Java.lang.string,intFile:C:Error:the Operator-is undefined for the argument type(s)Java.lang.string,doubleFile:C:Error:the Operator-is undefined for the argument type(s)Java.lang.string,double

我固定了我的大错误,对不起。我真的不想太直截了当,我需要更多的阅读,我今晚将要做的,但我现在有一个不同的错误。


问题:

1。grade = keyboard.next.Int();应为grade = keyboard.nextInt();。2。埃多克斯1〔9〕

  • a.Case应为Case

  • b.什么是A你换了一个int但是没有可变的A。持有任何int价值。如果你是指charA你应该改为'A'

  • 你需要一个:,而不是;,在Case之后。所以有点像case 'A':

三。switch (grade);取下;。改为switch (grade)

4。不太确定这件事,希望是想发表评论。


第一期:

1
grade = keyboard.next.Int();

更改为

1
grade = keyboard.nextInt();

第二期:

你的交换声明显然是错误的

例如

  • switch (grade); <--- wrong {

  • 江户十一〔一〕号

  • 你的gradeint型,但你的案件是char型。

  • Case错了,你应该有Case的。

  • 把这个样本当作你的蓝图

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public class SwitchDemo {
        public static void main(String[] args) {

            int month = 8;
            String monthString;
            switch (month) {
                case 1:  monthString ="January";
                         break;
                case 2:  monthString ="February";
                         break;
                case 3:  monthString ="March";
                         break;
                case 4:  monthString ="April";
                         break;
                case 5:  monthString ="May";
                         break;
                case 6:  monthString ="June";
                         break;
                case 7:  monthString ="July";
                         break;
                case 8:  monthString ="August";
                         break;
                case 9:  monthString ="September";
                         break;
                case 10: monthString ="October";
                         break;
                case 11: monthString ="November";
                         break;
                case 12: monthString ="December";
                         break;
                default: monthString ="Invalid month";
                         break;
            }
            System.out.println(monthString);
        }
    }

    代码源,了解有关switch语句的更多信息


    第13行末尾不应该有分号。(开关线)。

    一旦您解决了这个问题,您将看到"case"子句的语法是错误的。

    从Java的角度来看,"任何其他角色"都是无稽之谈。(我很惊讶Java编译器没有向你扔砖头!)

    I'm not sure what's wrong with what I'm doing.

    你正在尝试编写Java而不费力去正确地学习它。在很多层面上都是错误的。

    我建议您阅读Oracle Java教程。对于本例,请阅读switch语句页。