• “FormatException是未处理”而程序没有计算结果

  • 本文关于 c#
  • CodeGo.net > “FormatException是未处理”而程序没有计算结果
  •  

    “FormatException是未处理”而程序没有计算结果



    c#
    目前,我正在学习C#,和我有点停留在一个我“Visual Studio 2010中,和我的情况如下: 编写创建一个ProfessorRating类组成的教授ID和三个评分程序。三大评级评估从容,乐于助人,和清晰度。在一个单独的类,允许输入值。调用构造函数来创建ProfessorRating类的一个实例。包括相应的属性。不要让一个对象被构造之后的ID来进行更改。提供在ProfessorRating类 CodeGo.net,并返回总体评价的平均水平。打印所有评级和平均评级格式化的,没有数字,从类中小数点右边的。使用一个输入的所有数据。 到目前为止,我经历的大部分已经去了但是我最终运行到两个错误,我不能由我自己弄清楚。 该代码是在两个文件中,这是优先种:
    //ProfessorApplication.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace Lesson4_v4
    {
    class ProfessorApplication
    {
     static void Main( )
     {
      ProfessorRating professorObject = new ProfessorRating();
      int pID;
      int cR;
      int hR;
      int eR;
      DisplayInstructions(); //Show instructions
      pID = DataEntry("Professor ID of the professor you'd like to rate");
      cR = DataEntry("clarity rating of the professor");
      hR = DataEntry("helpfulness rating of the professor");
      eR = DataEntry("easiness rating of the professor");
      professorObject.GradeAverage();
      Console.Clear();
      Console.Write(professorObject);
      Console.ReadLine();
     }
     static void DisplayInstructions()
     {
      Console.Beep();
      Console.WriteLine("Hello! This program will allow you to calculate a Professor's rating based on three categories!");
      Console.WriteLine(" ");
      Console.WriteLine("You will be asked for the the professor ID and a grade of 1-10.");
      Console.WriteLine(" ");
      Console.WriteLine("Please refer to the scale below.");
      Console.WriteLine(" ");
      Console.WriteLine(" 0 1 2 3 4 5 6 7 8 9 10 ");
      Console.WriteLine("Worst            Best");
      Console.Read();
     }
     static int DataEntry(string rating1)
     {
      string inputValue;
      int Rating;
      Console.WriteLine("Please enter the {0}: ",rating1);
      inputValue = Console.ReadLine();
      Rating = int.Parse(inputValue); //System.FormatException was unhandled according to VS2010
     }
    }
    }
    
    下面是从第二个文件中的代码:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace Lesson4_v4
    {
     class ProfessorRating
     {
     private int professorID; // Professor ID
     int helpRating; // Helpfulness Rating
     int cleaRating; // Clarity Rating
     int easyRating; // Easiness Rating
     public ProfessorRating() //default constructor   
     {
     }
     public ProfessorRating(int pID) //1 parameter constructor
     {
      professorID = pID;
     }
     public ProfessorRating(int pID, int hR, int cR, int eR) //all parameter constructor
     {
      professorID = pID;
      helpRating = hR;
      cleaRating = cR;
      easyRating = eR;
     }
     public int GradeAverage() //is supposed to calculate the average, but shows as "0"
     {
      return (helpRating + cleaRating + easyRating) / 3;
     }
     public override string ToString()
     {
      return "The average is " + GradeAverage();
     }
    }
    }
    
    感谢您的帮助!
    本文地址 :CodeGo.net/1106157/
    -------------------------------------------------------------------------------------------------------------------------
    1.从整数更改数据类型为double。 例如,下面的更改
     int pID;
     int cR;
     int hR;
     int eR;
    
     double pID;
     double cR;
     double hR;
     double eR;
    
    整数除法0,当小于分母。
     对于FormatException,你必须确保你输入正确的数字。如果您输入的字符,你很可能会得到这个异常。
     你int.TryParse是返回false的情况下解析错误(而不是FormatException)的。这种方式可以处理错误的输入更好。
    
    2. 这个答案是关于你的是你加在@提拉克先生的答案。
    static int DataEntry(string rating1)
    {
     string inputValue;
     int Rating;
     Console.WriteLine("Please enter the {0}: ",rating1);
     inputValue = Console.ReadLine();
     Rating = int.Parse(inputValue); //System.FormatException was unhandled according to VS2010
    }
    
    所以添加下面一行去除“并非所有的代码路径都返回值”错误。
     static int DataEntry(string rating1)
     {
      string inputValue;
      int Rating;
      Console.WriteLine("Please enter the {0}: ",rating1);
      inputValue = Console.ReadLine();
      Rating = int.Parse(inputValue); //System.FormatException was unhandled according to VS2010
    Return Rating;
     }
    
    你越来越“并非所有的代码路径都返回值”错误资料输入]数据类型为int的方法,它应该是返回值... 希望它能为你....
    3. 你将总是返回零您呼叫的错构造函数请不要因为这两个建议,然后改变
    static void Main( )
    {
     ProfessorRating professorObject = new ProfessorRating();
     int pID;
     int cR;
     int hR;
     int eR;
    
    移动ProfessorRating professorObject = new ProfessorRating();根据变量和状态下,通过改变professorObject调用
    pID = DataEntry("Enter the ID of the Professor you would like to rate");
      cR = DataEntry("Please rate the clearity of the information provided");
      hR = DataEntry("Please rate your instructor on their helpfulness");
      eR = DataEntry("Please rate your material on its easiness");
      ProfessorRating professorObject = new ProfessorRating(pID, cR, hR, eR);
      professorObject.GradeAverage();
    

    本文标题 :“FormatException是未处理”而程序没有计算结果
    本文地址 :CodeGo.net/1106157/
    1. c# 里怎么使用 CreateObject
    2. 错误的ObjectDataSource找不到一个非泛型方法
    3. 知道excel文件名,路径,sheet名,怎样用windows程序(c#)改变excel文件指定行的颜色?
    4. VB.net发送UDP消息两倍
    5. 如何update 整列!
    6. 如何从非托管内存中读取布尔值,使用Marshal类?
    7. 一个关于数据库插入
    8. 使用的EntityFramework客户端方的迁移
    9. 有很多第三方控件,我想知道,控件怎么做的?
    10. 检查用户是否已经登录或没有

     
    

    Copyright © 2017 CodeGo.net
    http://codego.net/xinwen/ 足球比分网 足球比分 医药招商网 邵阳县新闻