2016-07-18 2 views
-3

Ich habe meine erste C# Datei geschrieben. Grundsätzlich was ich habe ist jemand in verschiedenen Bewertungen von 10 (wie verdoppelt) für ein Produkt für Dinge wie Geschmack, Textur, Präsentation usw. Ich erstellte ein Wiegesystem und Bewertung der Gesamtbewertung automatisch von 10. Ich verwendete Math.Round zu runde es bis zur nächsten ganzen Zahl.Wie nehme ich 0 Dezimalstellen "double" Datentyp und Ausgabe entsprechende Anzahl von "*" automatisch

Ich möchte die folgende Zeile wie die folgende Ausgabe angezeigt:

"Gesamtbewertung ist 5/10: *****"

Wo die Zahl der "*" angezeigt wird automatisch als Gesamtbewertung angezeigt (als ganze Zahl).

Ich habe keine Ahnung, wie dieses letzte Bit zu tun.

Meine letzte Ausgangsleitung so weit ist:

Console.WriteLine("Overall rating is " + ratingRounded + "/10: "); 

Wie würde ich die „*“ angezeigt werden gleichmäßig auf die gleiche sein wie ratingRounded?

Entschuldigung, ich habe wahrscheinlich einen sehr schlechten Job gemacht und alles erklärt (ich habe mein Bestes gegeben!).

Vielen Dank im Voraus.

Antwort

0

Sie können eine Schleife verwenden.

Console.Write("Overall rating is " + ratingRounded + "/10: "); 
for(int i=0; i<ratingRounded; i++){ 
    Console.Write("*"); 
} 
Console.WriteLine(); 
+0

Dank dieser funktionierte perfekt. Ich habe nie daran gedacht, in eine For-Schleife zu schreiben. So einfach. Ich habe auch "Enumerable.Repeat" versucht. Dein Weg ist großartig! – lonewolf2288

+0

Können Sie bitte die Antwort upvote, wenn es für Sie arbeitete? :) –

+0

@TajkiaRahmanToma Nicht bis [15 rep] (http://stackoverflow.com/help/privileges/vote-up) ... –

1

Dieser ist ziemlich kurz ...

string stars = new String('*', (int)ratingRounded); 
Console.WriteLine("Overall rating is " + ratingRounded + "/10: "+stars); 
0

Sie verwenden können (wenn ratingRounded numerische Datentyp und nicht die Zeichenfolge)

Console.WriteLine("Overall rating is " + ratingRounded + "/10: " + new String('*', ratingRounded)); 
Verwandte Themen