2014-08-14 4 views
-1

Я пытаюсь повторить свою программу, но она не слишком хорошо работает. Это то, что я до сих пор:Повторяя программу с массивами

import java.util.*;//to use scanner class 
public class ArrayDemo 
{ 
public static void main(String args[]) 
{ 
    int a[]=new int[5]; 
    Scanner sc=new Scanner(System.in);//use to take input 
    int i; 

    for(i=0;i<a.length;i++)//arrayname.length gives the length of array 
    { 
     System.out.println("Enter number:"); 
     a[i]=sc.nextInt(); 
    } 

    int sum=0; 
    long pro=1; 
    int max=a[0]; 
    int min=a[0]; 
    for(i=0;i<a.length;i++) 
    { 
     sum=sum+a[i]; 
     pro=pro*a[i]; 
     if(a[i]>max) 
     max=a[i]; 
     if(a[i]<min) 
     min=a[i]; 



    } 
    float avg=sum/a.length; 
    System.out.print("You entered"); 
    for(i=0;i<a.length;i++) 
    { 
     System.out.print(", 1"+a[i]); 

    } 

     System.out.println("\nThe sum of those numbers is "+sum); 
     System.out.println("The product of those numbers is "+pro); 
     System.out.println("The largest number entered is "+max); 
     System.out.println("The smallest number entered is "+min); 
     System.out.println("The average of the numbers entered is "+avg); 

} 
} 

У меня есть другая программа, что я пытаюсь работать в повторение, но говорит, что никакие основные апплеты или методы не найти, так что ничего не возвращает:

import java.util.*;//to use scanner class 
public class ArrayDemo 
{ 
public static void myMethod(Scanner scanner) 
{ 

    int a[]=new int[5]; 
      int i; 
    for(i=0;i<a.length;i++)//arrayname.length gives the length of array 
    { 
     System.out.println("Enter number:"); 
     a[i]=scanner.nextInt(); 
    } 

    int sum=0; 
    long pro=1; 
    int max=a[0]; 
    int min=a[0]; 
    for(i=0;i<a.length;i++) 
    { 
     sum=sum+a[i]; 
     pro=pro*a[i]; 
     if(a[i]>max) 
     max=a[i]; 
     if(a[i]<min) 
     min=a[i]; 


    } 
    float avg=sum/a.length; 
    System.out.print("You entered"); 
    for(i=0;i<a.length;i++) 
    { 
     System.out.print(","+a[i]); 

    } 

     System.out.println("\nThe sum of those numbers is "+sum); 
     System.out.println("The product of those numbers is "+pro); 
     System.out.println("The largest number entered is "+max); 
     System.out.println("The smallest number entered is "+min); 
     System.out.println("The average of the numbers entered is "+avg); 

     System.out.println(); 


do { 
    myMethod (scanner); 
    System.out.println("You want to continue : (Y/N) "); 
} while("Y".equalsIgnoreCase(scanner.next().trim())); 

scanner.close(); 



} 

} 
+1

положить его в петлю while –

+0

Привет, Хейли, это выглядит знакомо. В коде, который я дал вам раньше, вам нужно вызвать его из основного метода. –

+0

в вашем втором подходе у вас нет основного метода. Таким образом, файл не будет запущен –

ответ

1

Вам нужен главный метод, как

public static void main(String args[]) 

    Scanner scanner = new Scanner(System.in); 

    do { 
    myMethod (scanner); 
    System.out.println("You want to continue : (Y/N) "); 
    } while("Y".equalsIgnoreCase(scanner.next().trim())); 

    scanner.close(); 

} 

так перенести этот код в основной метод из вашего (моего) `MyMethod

+0

Нравится это делать! –

0

Ваш первый код имеет основной метод:

public static void main(String[] args) {// some code } 

но второй код не имеет этот метод. На Java-языке программа должна начинаться с основного метода с помощью вышеуказанной подписи.

0

В вашем втором подходе у вас нет основного метода. Таким образом, вы не можете запустить файл. Другое дело, не ставьте всю логику в основной метод. Постарайтесь как можно больше отделить их. Тогда это более понятно. Поместите свою логику расчета на метод и вызовите его через некоторое время или выполните цикл

, например.

class A{ 
    public static void main(String args[]){ 
      Scanner scanner = new Scanner(System.in); 
      int[] a= new int[5]; 
      boolean bRepeat = true; 
      while(bRepeat){ 
       for(i=0;i<a.length;i++){ 
        System.out.println("Enter number:"); 
        a[i]=sc.nextInt(); 
       } 
       System.out.println("Sum is " + getSum(a)); 
       System.out.println("Average is " + getAvergae(a)); 
       ..... 
       System.out.println("Do you wanna repeat? T/F"); 
       String response = scanner.nextLine(); 
       if(response.equalsIgnoreCase("T")) 
        bRepeat = true; 
       else 
        bRepeat = false;      // or break 
      } 
    } 

    public static int getSum(int[] number){ 
     //logic 
    } 
    public static double getAverage(int[] number){ 
     //logic 
    } 
    public static int getProduct(int[] number){ 
     //logic 
    } 
    public static int getMax(int[] number){ 
     //logic 
    } 
    ................ 
} 
Смежные вопросы