2015-10-05 70 views
-4

編寫一個完整的Java程序,它將取一個整數並打印出一個 乘法表模數給定的整數。如果該值小於 2或大於10,則該程序應該投訴並退出。由於所有的 這些數字只包含一個數字,因此不需要太多的工作來獲得列的排列。第一行和第一列應列出 數字(0 ... n-1)。 我在波紋管代碼中盡力而爲,但我認爲根據上述問題,有些東西缺少init。請幫助解決這個問題。一個用java程序打印不同條件的乘法表

import java.util.Scanner; 

public class hw2 { 
    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     System.out.println("Enter a number: "); 
     int number; 
     number = input.nextInt(); 
     if(number<0) 
     { 
      number = (-1)*number; 
     } 
     if(number>=2&&number<=10) 
     { 
      for(int i=1;i<=10;i++) 
      { 
       System.out.println(number+" "+"x "+i+" ="+(number * i)); 
      } 
     } 
     else 
     { 
      System.out.println("Enter numbers from 2 to 10 only"); 
      System.exit(number); 
     } 
    } 
} 

output: 

Enter a number: 
10 
10 x 1 =10 
10 x 2 =20 
10 x 3 =30 
10 x 4 =40 
10 x 5 =50 
10 x 6 =60 
10 x 7 =70 
10 x 8 =80 
10 x 9 =90 
10 x 10 =100 

回答

0

我認爲這是您需要的確切答案。

import java.util.Scanner; 

public class hw2 { 

    public static void main(String[] args) { 
     //Accepting an Integer 
     System.out.println("Enter a Integer:"); 
     Scanner input = new Scanner(System.in); 
     int N = input.nextInt(); 
     if(N<2||N>10) 
     { 
      System.out.println("Enter integrs in range 2 to 10 only"); 
      System.exit(0); 
     } 
     else 
     { 
      System.out.print(" "); 
      for(int i = 0; i<N;i++) { 
       System.out.print(" "+i); 
      } 
      System.out.println(); 
      System.out.println("------------------------------------------"); 
      //printing multiplication table by modulus of integer 
      for(int i = 0 ;i<N;i++) { 
       // print left most column first 
       System.out.print(i+" |"); 
       for(int j=0;j<N;j++) { 
        System.out.print(" "+((i*j)%N));; 
       } 
       System.out.println(); 
      } 
     } 

    } 
} 
+1

這對於明顯學習如何編程的OP來說真的有幫助,只是給出完整的解決方案而沒有任何解釋嗎? – Henry

+0

OP確實詢問該代碼中的問題,而不是代碼轉儲。 – Jamal