class Myclass
{
public string Driver1()
{
string a = "";
Console.Write("Please enter drivers name: ");
a = Console.ReadLine();
return a;
}
public int numberOfTrips()
{
int a = 0;
{
Console.Write("Enter the number of trips: ");
a = Convert.ToInt32(Console.ReadLine());
}
return a;
}
public List<float> Payments()
{
List<float> a = new List<float>();
float input;
for (int i = 0; i<numberOfTrips(); i++)
{
Console.Write("Enter payment {0}: ", (1 + i));
input = float.Parse(Console.ReadLine());
Console.WriteLine("Payment added");
a.Add(input);
}
return a;
}
}
class Program
{
static void Main(string[] args)
{
Myclass a = new Myclass();
string name = a.Driver1();
int trip = a.numberOfTrips();
float total = a.Payments().Sum();
Console.WriteLine("\nDriver: {0}\n" + "Number of trips: {1}\n" + "Total payment: {2}\n", name, trip, total);
}
}
私が午前問題は、それがforループ含む方法に到達する前に、「公共のint numberOfTripsは()」メソッドを二回実行されていることです。私はこれが、ループを止めるべきときを指定するためにforループ内で使用しているという事実と関係していると思います。私はこれを間違って行ったと推測しています。どうすればこの問題を修正できますか?私は、ユーザーが何回支払いを要求するかを設定できるようにする必要があります。方法は二回を介して実行されている
何か助けていただければ幸いです。
私は:)ありがとう:あなたの
Main
方法でを非常に新しいこのC#は、数日間しか学習していないので、(int tripcount)とnumberOfTripsがtripcountにどのように渡すかを教えてください。また、なぜ私はここで使用する必要がありますか:float total = a.Payments(trip).Sum(); –
@CharlieWalkden最初に 'numberOfTrips'を呼び出して変数' trip'に格納してから変数を取得しています。次に、変数を 'Payments'へのパラメータとして渡します。これは基本的に、そのメソッドがその変数にアクセスできるようにして、それを使用できるようにします。 (詳細な説明については、メソッドとパラメータのチュートリアルを参照してください) – Abion47
ありがとう、本当にありがとう:) –