2017-03-24 16 views
0

私はコードを完成しましたが、誰かが私のためにそれをチェックすることができます。私は、サンプルが想定している正確な出力を出力するのに問題があります。私のコードは、名前の間の適切な間隔を認識できず、文字の正確な位置を決定することができません。他のエラーを生成することなく、文字の量を正確に計算することができます。Javaでの入力と出力

プログラム1:ユーザーにフルネーム(最初のミドルミセス)を入力するように求めます。 O'Reilly、Van Helsing、de Villeなどの姓を気にしないでください。次に、以下を出力してください。

フルネームの長さ。 ミドルネームの長さ。 名前の3つの頭文字。 名前はすべて大文字です。

SAMPLE OUT:

最初のネームミドルネームと姓を入力し

自分の名前の

ペギー・スー・パーマー

長さ:ミドルネームの16文字

長さ:3あなたのイニシャルはPSP

です

PEGGY SUE PALMER

マイコード:

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); 

     } 
} 

プログラム2:包含範囲50から100、の両方で、2つのランダム整数を生成するプログラムを書きます。 Mathクラスを使用します。両方の整数を表示し、2つの整数の正の差を表示しますが、選択を使用します。 Mathクラスの絶対値メソッドを使用しないでください。

私のコード:第二のコードで問題の

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

は、しかし、それは別の問題を作成し、他のユーザーはコードがより見やすくん示してキャストを変更する第二の問題 – muzzlator

+0

について尋ねた疑いがありません。条件が真であるときにのみ出力を出力しますが、そうでないときは整数だけを出力しません。 – ABerrio

答えて

1

一つは、if文にキャストする必要があるということです。

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

「キャストif文」は何を意味しますか? – muzzlator

+0

あなたが実際に望んでいるものは、おそらく無条件にそれを印刷したいので、字下げを修正することです、中括弧を追加することを言及している場合は – muzzlator

+0

ありがとう!ほんとうにありがとう。私はJavaの初心者です。私のためのヒントがあれば教えてください。私はキャストを追加し、コードをより良く見せました。しかし、キャストは別の問題を引き起こす。その文が真でなければ出力しません。そうでなければ出力しません。キャストなしでは、それは否定的なことなく正しい差を出す。 – ABerrio