using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace heavynumbers2
{
class Program
{
static void Main(string[] args)
{
HeavyDeciCount();
int firstNumber;
int secondNumber;
Console.Write("Enter First Number: ");
firstNumber = int.Parse(Console.ReadLine());
Console.Write("Enter Second Number: ");
secondNumber = int.Parse(Console.ReadLine());
}
public static void HeavyDeciCount(int firstNumber, int secondNumber)
{
var totalHeavyCount = 0;
for (int i = firstNumber; i <= secondNumber; i++)
{
var avg = i.ToString()
.Select(o => Convert.ToInt32(o.ToString()))
.ToArray()
.Average();
var isHeavy = false;
if (avg > 7)
{
isHeavy = true;
totalHeavyCount++;
}
Console.WriteLine("HeavyNumbers" + "Average" + "IsHeavy");
Console.WriteLine(i + " " + avg + " " + (isHeavy ? "Yes" : "No"));
}
Console.WriteLine("Total Heavy Count: " + totalHeavyCount);
Console.WriteLine("Press Enter to Close Program ");
Console.ReadLine();
}
}
}
私はこのプログラムを実行していないと私はメインメソッドでメソッドを呼び出すようにしようとすると、コンパイラは言う:過負荷メソッドをC#コンソールアプリケーションが壊れていますか?
はあなた
heavydeciCount
方法
に対して定義するとプログラムが異常終了します。
私はここで間違っていますか?あなたは0渡し
public static void HeavyDeciCount(int firstNumber, int secondNumber)
:
int firstNumber;
int secondNumber;
Console.Write("Enter First Number: ");
firstNumber = int.Parse(Console.ReadLine());
Console.Write("Enter Second Number: ");
secondNumber = int.Parse(Console.ReadLine());
HeavyDeciCount(firstNumber, secondNumber); // you call the method with 2 numbers after you already have them
問題:
HeavyDeciCount(); // no arguments are being passed
あなたはおそらく、あなたのコードはそうのように再配置していると思った
を。それらの下に赤い線があります。それを解決する方法が分かっているなら、私を案内してください。 –
@BilalMujahid私はあなたのために働く詳しい説明とコードで私の答えを編集しました。メソッドのオーバーロードを理解するためのリンクも読んでください。 – Idos
メソッドを親切に呼び出す方法は、メソッドをタイプすることで説明することができます。 –