2015-12-02 177 views
-3

我不明白为什么我的程序不会允许我将我的变量转换为字符。任何帮助将不胜感激!!!总共有7个错误都基于我的测试成绩或围绕测试成绩键盘输入。字符串cannont被转换为字符

public class lab13 
{ 
    public static void main(String[] args) 
    { 
     // declare variables 
     int average; 
     int sum; 
     int i; 
     char grade; 
     int testScore; 

     //Create a Scanner Object 
     Scanner keyboard= new Scanner(System.in); 

     sum = 0; 
     i = 1; 
     while (i <= 4) 
     { 
     System.out.print("Enter a test score:"); 
     testScore=keyboard.nextLine(); 
     if (testScore < 60) 
     { 
      grade =(F); 
     } 
     else 
     { 
      if (testScore < 70) 
      { 
       grade =("D"); 
      } 
      else 
      { 
       if (testScore < 80) 
       { 
        grade =("C"); 
       } 
       else 
       { 
        if (testScore < 90) 
        { 
        grade =("B"); 
        } 
        else 
        { 
        grade =("A"); 
        } 
       } 
      } 
     } 
     System.out.print("Test score:"+testScore); 
     System.out.print("Letter grade:"+grade); 
     sum = sum + testScore; 
     i = i + 1; 
     } 
     average = sum/4; 
     System.out.print("Test score average = " + average); 
    } // close main 
} // close lab13 
+1

为什么你不是我们e像eclipse这样的IDE,这样它会正确报告错误。 – niyasc

+2

使用一些常识。将字符串转换为字符意味着什么? –

回答

0

char常数可以与''表示像

grade = 'F'; 

grade = 'D'; 

grade = 'C'; 

grade = 'B'; 

grade = 'A'; 
0

char只能容纳一个单一的字符,这是使用单引号定义,如在'C'

0

keyboard.nextLine的insted的()的使用keyboard.nextInt()和用于字符值赋值直接使用单个配额的字符,如'A'而不是(“A”)

+0

非常感谢所有的帮助,非常感谢! –

0
import java.util.Scanner; 



public class lab13 
{ 
    public static void main(String[] args) 
    { 
     // declare variables 
     int average; 
     int sum; 
     int i; 
     char grade; 
     int testScore; 

     //Create a Scanner Object 
     Scanner keyboard= new Scanner(System.in); 

     sum = 0; 
     i = 1; 
     while (i <= 4) 
     { 
     System.out.print("Enter a test score:"); 
     testScore=keyboard.nextInt(); 
     if (testScore < 60) 
     { 
      grade ='F'; 
     } 
     else 
     { 
      if (testScore < 70) 
      { 
       grade ='D'; 
      } 
      else 
      { 
       if (testScore < 80) 
       { 
        grade ='C'; 
       } 
       else 
       { 
        if (testScore < 90) 
        { 
         grade ='B'; 
         } 
        else 
        { 
        grade ='A'; 
        } 
       } 
      } 
     } 
     System.out.println("Test score:"+testScore); 
     System.out.println("Letter grade:"+grade); 
     sum = sum + testScore; 
      i = i + 1; 
     } 
     average = sum/4; 
     System.out.print("Test score average = " + average); 
    } // close main 
    } // close lab13 
+0

使用此代码。建议的改进:如果if-else块只包含单个语句,则不需要使用这些大括号。并使用System.out.println而不是System.out.print输出可读性! –

+0

if(testScore <60) grade ='F'; }可写为:if(testScore <60) grade ='F'; –