2017-03-24 4 views
0

Ich habe den Code abgeschlossen, aber kann jemand es für mich überprüfen. Ich habe Probleme beim Ausgeben der genauen Ausgabe, die das Sample sein soll. Mein Code kann den richtigen Abstand zwischen den Namen nicht erkennen und die genaue Position der Buchstaben bestimmen. Außerdem berechnen Sie die Anzahl der Buchstaben korrekt, ohne weitere Fehler zu erzeugen.Eingabe und Ausgabe in Java

Programm 1: Aufforderung an den Benutzer, einen vollständigen Namen (erster mittlerer Nachname) einzugeben. Kümmern Sie sich nicht um Nachnamen wie O'Reilly, Van Helsing, de Ville usw. Dann geben Sie folgendes aus:

Die Länge des vollständigen Namens. die Länge des zweiten Vornamens. die drei Initialen des Namens. der Name in Großbuchstaben.

Probe aus:

Geben Sie einen Vornamen zweiter Vorname und Nachname

Peggy Sue Palmer

Länge des Namens: 16 Zeichen

Länge des Mittelname: 3 Zeichen

Ihre Initialen sind PSP

PEGGY SUE PALMER

Mein Code:

import java.util.Scanner; 

public class Program2_1 { 

    //private static String name; 

    public static void main(String[] args) { 
     Scanner user_input = new Scanner(System.in); 
     System.out.println("Enter a first name, middle name, and surname:"); 
     String first_name = user_input.next(); 
     String second_name = user_input.next(); 
     String surname = user_input.next(); 
     System.out.println("Length of your name: " + first_name.length() + second_name.length() + surname.length() + " characters"); 
     System.out.println("Length of your middle name: " + second_name.length() + " characters"); 
     System.out.println("Your initials are " + first_name.charAt(0)+ second_name.charAt(0)+ surname.charAt(0)); 
     System.out.println(first_name + second_name + surname); 

     } 
} 

Programm 2: Schreiben Sie ein Programm, das zwei Zufallszahlen erzeugt, die beide im Bereich von 50 bis 100, inklusive. Verwenden Sie die Math-Klasse. Drucken Sie beide Ganzzahlen und zeigen Sie dann die positive Differenz zwischen den beiden Ganzzahlen an, verwenden Sie jedoch eine Auswahl. Verwenden Sie nicht die Absolutwertmethode der Math-Klasse.

Mein Code:

import java.lang.Math; 

public class Program2_2 { 

    public static void main(String[] args) { 
     //int num = 50(int)(Math.random()* 51); 
     int x = (int)(50 + Math.random()* 51); 
     System.out.println("Integer one: " + x); 
     int y = (int)(50 + Math.random()*51); 
     System.out.println("Integer two: " + y); 
     int z = (x - y); 
     if (y > x) 
      z = (y - x); 
      System.out.println("The positive difference between both integer: " + z);   
    } 

} 
+0

Es gibt auch keine Frage nach dem zweiten Problem fragte – muzzlator

+0

Ändern die Besetzung als die anderen Benutzer anzeigt, den Code nicht besser aussehen, aber es ist ein anderes Problem erzeugt. Es druckt nur Ausgaben, wenn die Bedingung wahr ist, aber wenn es nicht ist, druckt es nur die Ganzzahlen nicht aus. – ABerrio

Antwort

1

Eines der Probleme in dem zweiten Code ist, dass Sie if-Anweisung werfen müssen.

if (y > x){ 
     z = (y - x); 
     System.out.println("The positive difference between both integer: " + z); 
     } 
+0

Was bedeutet "cast if-Anweisung"? – muzzlator

+0

Wenn Sie sich auf das Hinzufügen der Klammern beziehen, was er/sie eigentlich will, ist es, die Einrückung zu korrigieren, weil sie das wahrscheinlich unbedingt ausdrucken möchten – muzzlator

+0

Vielen Dank für die Beantwortung! Ich schätze es sehr. Ich bin neu in Java und wenn Sie irgendwelche Tipps für mich haben, lass es mich wissen. Ich habe die Besetzung hinzugefügt und es hat den Code besser aussehen lassen. Die Besetzung erzeugt jedoch ein anderes Problem. Es gibt die Anweisung nicht aus, es sei denn, es ist wahr und wenn es nicht ist, wird es nicht ausgegeben. Ohne die Besetzung wird der richtige Unterschied ohne ein Negativ ausgegeben. – ABerrio