Can someone please help me keep the contents of this program but code it differe
ID: 3545510 • Letter: C
Question
Can someone please help me keep the contents of this program but code it differently? I prefer to have the main in the bottom and function up top...
import java.util.Scanner;
public class countFamilies {
public static void main(String[] args) {
Scanner input=new Scanner (System.in);
System.out.println("Please enter number of families ?");
int k;
k=input.nextInt();
double []ar =new double[k];
for(int i=0;i<k;i++)
{System.out.println("Enter annual income of family member "+(i+1));
ar[i]=input.nextDouble();
}
maxIncom(ar,k);
}
public static void maxIncom(double a[],int n)
{
double max=a[0];
for(int i=1;i<n;i++)
{
if(max<a[i])
max=a[i];
}
System.out.println("The max income is "+max);
int count=0;
for(int i=0;i<n;i++)
{
if(a[i]<max*10/100)
System.out.println("Family member number "+(i+1)+ " with income "+(a[i])+"is less than 10% of max income");
count++;
}
System.out.println("The number of family members that make less than 10% of the maximum income is:"+count);
}
}
Explanation / Answer
import java.util.Scanner;
import java.util.ArrayList;
public class countfamilies
{
public static void main(String[] args)
{
Scanner k = new Scanner(System.in);
Integer numFamilies =0, maximum = 0, less = 0, input=0;
boolean done = false;
ArrayList<Integer> income = new ArrayList<Integer>(numFamilies);
System.out.println("Enter number of families:");
numFamilies = k.nextInt();
income.add(numFamilies);
while(!done)
{
for(int countF = 0; countF < numFamilies; countF++)
{
System.out.println("Enter income");
input = k.nextInt();
income.add(input);
income.add(input);
}
System.out.println();
System.out.println("Do you want to continue adding more families?");
String answer = k.nextLine();
System.out.println();
if(!answer.equalsIgnoreCase("yes"))
done = true;
}
for(int position = 0; position < income.size(); position++)
{
int i = income.get(position);
if(i > maximum)
{
maximum = i;
}
}
System.out.println("TOTAL Maximum:" + maximum +' ');
double porcentage = maximum * .1;
System.out.println("The number of families making less than 10% of the maximum are:" );
for(int count=0; count < income.size(); count++)
{
if(income.get(count) < porcentage)
{
System.out.println(income.get(count));
//less++;
}
}
}
}