1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
irina1246 [14]
3 years ago
11

Write a Java application with a main() to find the two largest distinct integers entered on the command line by the user. We are

just creating a simple stand-alone application. All your code can be in main().

Computers and Technology
1 answer:
Setler [38]3 years ago
7 0

Answer:

import java.util.Scanner; // Scanner class is to use input output functions

public class TwoDistinctLargest //class to find two distinct largest nos

{

public static void main(String[] args) { //start of main() function

Scanner input = new Scanner(System.in); // creates Scanner type object

       int integers = 0, largest1 = 0, largest2 = 0; // declare variables

/* integers holds the input integer values, largest1 has 1st largest number and largest 2 contains second distinct largest number, i is used as the count variable to move through the input integers */

       int i = 0;  

//prompts user to enter integers and enter 0 to stop

       System.out.println("Enter the integers (press 0 to stop): ");

       integers = input.nextInt(); //reads and scans input integers

       while(integers != 0) {

/* the loop keeps taking integer values from user until the value of integers is equal to 0, this means until the user enters 0 */

//checks if the value of integer is greater than first largest computed number

           if(integers > largest1) {

//if the value in largest1 is greater than that of largest2

               if(largest1 > largest2) {

                   largest2 = largest1; } // then value of largest1 is set to largest2                

               largest1 = integers; // largest1 now holds the value of integers //which means largest1 holds the first distinct largest integer

           } else { //checks if the value of integers is greater than largest2

               if(integers > largest2) {

//if the value of integers is not equal to that of largest1

                   if(integers!=largest1)  {

// set the value of second distinct largest number to largest2

                   largest2 = integers;}              }            }

                     i++; //keeps moving to the next input integer

           integers = input.nextInt();     //keeps taking input integers    }      

//prints the two distinct largest integers

       System.out.println("\n The 1st largest distinct integer is " + largest1);

       System.out.println("\n The 2nd largest distinct integer is " + largest2); } }

Explanation:

Lets suppose the user inputs the following integers

1, 6, 5, 6, 0

Initial values are:

integers = 0

largest1 = 0

largest2 = 0

i = 0

When the user enters 1, then value of integers = 1

while loop checks if integers!=0. As integers =1 so the program enters the body of while loop. The first IF condition is checked if(integers > largest1)

As largest1 = 0 and integers =1 so this condition evaluates to true as 1 > 0

So the statements in the body of this IF condition are executed. This if conditions contains another if statement if(largest1 > largest2) which checks if the value largest1 is greater than that of largest2. Its false because largest1 =0 and largest2 =0 so largest1 = largest2, so the statement of this if condition body will not execute and program moves to this                 largest1 = integers; statement which sets the value of integers i.e. 1 to largest1. So the value of largest1 = 1

Now the i is incremented by 1 and it points at second value of integers= 6.

while loop checks if integers!=0. As integers =6 so the program enters the body of while loop. The first IF condition is checked if(integers > largest1)

As largest1 = 1 and integers =6 so this condition evaluates to true as 6>1

So the statements in the body of this IF condition are executed. This if conditions contains another if statement if(largest1 > largest2) which checks if the value largest1 is greater than that of largest2.

Its true because largest1 =1 and largest2 =0 so largest1 > largest2, so the next statement is executed largest2 = largest1; So now the value of largest2=1.

Now program moves to this largest1 = integers; statement which sets the value of integers i.e. 6 to largest1. So the value of largest1 = 6

Now the i is incremented by 1 and it points at second value of integers= 5.

while loop condition is again true. IF condition is checked if(integers > largest1)

As largest1 = 6 and integers =5 so this condition evaluates to false as 5<6. So this IF part will not execute and program control moves to the else part.

Else part has an if condition if(integers > largest2) which evaluates to true because integers = 5 and largest2 = 1 so the program moves to next if statement inside the previous if statement of else part i.e. if(integers!=largest1). This if statement is the main statement which will help in finding two distinct largest numbers in case the same largest value is input more than once. It checks If the value of integers is not equal to largest1 value. As integers = 5 and  largest1 = 6 so this if condition is true. If this condition is not used in this program then largest2 will not be assigned distinct largest values but assigned 6 for both largest1 and largest2 as 6 is input twice. Next this if statement  largest2 = integers assigns value of integers to largest2 which is the second largest distinct integer.

Now the i is incremented by 1 integers value become 0.

while loop checks if integers!=0. As integers =0 so the while loop breaks. The last two print statements which produce following output.

The 1st largest distinct integer is: 6

The 2nd largest distinct integer is: 5

You might be interested in
Evaluating how current, credible, and unbiased a source is ensures:
Tanya [424]

The answer is

A. your information is more accurate and useful

I hope it helps you. Please mark me brainliest answer.

6 0
3 years ago
(1) Prompt the user to input an integer, a double, a character, and a string, storing each into separate variables. Then, output
Alex787 [66]

Answer:

import java.util.*;

public class Main{

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

 int intgVal; double dblVal; char chrVal; String strVal;

 System.out.print("Enter integer: ");  

 intgVal = input.nextInt();

 System.out.print("Enter double: ");  

 dblVal = input.nextDouble();

 System.out.print("Enter character: ");  

 chrVal = input.next().charAt(0);

 input.nextLine();

 System.out.print("Enter string: ");  

 strVal = input.nextLine();

 System.out.println(intgVal+" "+dblVal+" "+chrVal+" "+strVal);

 System.out.println(strVal+" "+chrVal+" "+dblVal+" "+intgVal);

 int IntValue = (int) dblVal;

 System.out.print("Cast to an integer: "+IntValue);

}

}

Explanation:

See attachment for complete program where comments were used to explain each line of the program

Download txt
6 0
3 years ago
Write a RainFall class that stores the total rainfall for each of 12 months into an array of doubles. The program should have me
RSB [31]

Answer:

Explanation:

The code provided worked for the most part, it had some gramatical errors in when printing out the information as well as repeated values. I fixed and reorganized the printed information so that it is well formatted. The only thing that was missing from the code was the input validation to make sure that no negative values were passed. I added this within the getMonths() method so that it repeats the question until the user inputs a valid value. The program was tested and the output can be seen in the attached image below.

import java.io.*;

import java.util.*;

class Rainfall

{

   Scanner in = new Scanner(System.in);

   private int month = 12;

   private double total = 0;

   private double average;

   private double standard_deviation;

   private double largest;

   private double smallest;

   private double months[];

   public Rainfall()

   {

       months = new double[12];

   }

   public void setMonths()

   {

       for(int n=1; n <= month; n++)

       {

           int answer = 0;

           while (true) {

               System.out.println("Enter the rainfall (in inches) for month #" + n + ":" );

               answer = in.nextInt();

               if (answer > 0) {

                   months[n-1] = answer;

                   break;

               }

           }

       }

   }

   public void getTotal()

   {

       total = 0;

       for(int i = 0; i < 12; i++)

       {

           total = total + months[i];

       }

       System.out.println("The total rainfall for the year is " + total);

   }

   public void getAverage()

   {

       average = total/12;

       System.out.println("The average monthly rainfall is " + average);

   }

   public void getLargest()

   {

       double largest = 0;

       int largeind = 0;

       for(int i = 0; i < 12; i++)

       {

           if (months[i] > largest)

           {

               largest = months[i];

               largeind = i;

           }

       }

       System.out.println("The largest amount of rainfall was " + largest +

               " inches in month " + (largeind + 1));

   }

   public void getSmallest()

   {

       double smallest = Double.MAX_VALUE;

       int smallind = 0;

       for(int n = 0; n < month; n++)

       {

           if (months[n] < smallest)

           {

               smallest = months[n];

               smallind = n;

           }

       }

       System.out.println("The smallest amount of rainfall was " + smallest +

               " inches in month " + (smallind + 1));

   }

   public static void main(String[] args)

   {

       Rainfall r = new Rainfall();

       r.setMonths();

       r.getTotal();

       r.getSmallest();

       r.getLargest();

       r.getAverage();

   }

}

8 0
2 years ago
¿Cuál crees tú sea la finalidad de los virus informático, y porque son creados? ¿Cuáles son las precauciones y / o recomendacion
pantera1 [17]

Un virus informático es un tipo de programa de software malicioso ("malware") que, cuando se ejecuta, se replica modificando otros programas informáticos e insertando su propio código. Cuando esta replicación tiene éxito, se dice que las áreas afectadas están "infectadas" con un virus informático.

Un virus informático es un tipo de programa de software malicioso ("malware") que, cuando se ejecuta, se replica modificando otros programas informáticos e insertando su propio código. Cuando esta replicación tiene éxito, se dice que las áreas afectadas están "infectadas" con un virus informático.

lo mejor es mantener tu computadora actualizada

6 0
3 years ago
What is software piracy
Tju [1.3M]
Software piracy is the illegal copying, distribution, or use of software.
8 0
3 years ago
Read 2 more answers
Other questions:
  • What is the last step in conducting url search
    11·1 answer
  • Write a program to input money in cents from user, example 12745 and display the one dollar bills and the cents. Submit source c
    12·1 answer
  • The operating system of a computer is an example of ________ software. science-forum
    7·1 answer
  • Optimally, the __________ guides investment decisions and decisions on how ISs will be developed, acquired, and/or implemented.
    6·1 answer
  • Which of the following best describes a group?
    13·1 answer
  • What Word features allow you to copy multiple paragraph formatting syles
    5·1 answer
  • Which statement best compares routers and hubs?
    9·1 answer
  • What is a Hard Drive
    13·1 answer
  • Pleasee helpppppppppppppppppppppp me!
    7·1 answer
  • Type the correct answer in the box. Spell all words correctly.
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!