(Algebra: perfect square ) Write a program that prompts the user to enter an integer m and find the smallest integer n such that m * n is a perfect square. (Hint: Store all smallest factors of m into an array list. n is the product of the factors that appear an odd number of times in the array list. For example, consider m = 90, store the factors 2, 3, 3, 5 in an array list. 2 and 5 appear an odd number of times in the array list. So, n is 10.) Sample Run 1 Enter an integer m: 1500 The smallest number n for m x n to be a perfect square is 15 m x n is 22500 Sample Run 2 Enter an integer m: 63 The smallest number n for m x n to be a perfect square is 7 m x n is 441 Class Name: Exercise11_17   Answer is : import java.util.Scanner; public class Squares {    public static void main(String[] args) {        Scanner scan = new Scanner(System.in); //instantiation of Scanner that will take inputs from the keyboard        //the try catch block below is for trapping error with the input        try {            System.out.print("Enter an integer m: "); //prompts the user to enter a number            int m = scan.nextInt(); //stores the user input to m                       int n = 0; //initializing n            for(int i=1; ; i++) { //this loop only ends with the 'break keyword' which is why the 2nd argument is blank                int product = i * m;                double squareRoot = Math.sqrt(product);                if(squareRoot - Math.floor(squareRoot) == 0) {                    //when the square root is just a whole number(when decimal part is just zero), it is a perfect square                    n = i;                    break; //loop ends here                }            }                       System.out.println("The smallest number n for m * n to be a perfect square is " + n); //prints out n            System.out.println("m * n is " + (m*n)); //prints out product of m and n        }catch(IllegalArgumentException e) {            System.out.println("Invalid input!"); //prints out error message        }    } }   But after that its showing the follwoing : Exercise11_17.java:5: error: class Squares is public, should be declared in a file named Squares.java public class Squares { 1 error   What Am i doing wrong? Can you correct me? Thank You

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

(Algebra: perfect square

)

Write a program that prompts the user to enter an integer

m

and find the smallest integer

n

such that

m * n

is a perfect square.

(Hint: Store all smallest factors of

m

into an array list.

n

is the product of the factors that appear an odd number of times in the array list.

For example, consider

m

= 90, store the factors 2, 3, 3, 5 in an array list. 2 and 5 appear an odd number of times in the array list. So,

n

is 10.)

Sample Run 1

Enter an integer m: 1500

The smallest number n for m x n to be a perfect square is 15

m x n is 22500

Sample Run 2

Enter an integer m: 63

The smallest number n for m x n to be a perfect square is 7

m x n is 441

Class Name:

Exercise11_17

 

Answer is :

import java.util.Scanner;

public class Squares {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in); //instantiation of Scanner that will take inputs from the keyboard

       //the try catch block below is for trapping error with the input
       try {
           System.out.print("Enter an integer m: "); //prompts the user to enter a number
           int m = scan.nextInt(); //stores the user input to m
          
           int n = 0; //initializing n
           for(int i=1; ; i++) { //this loop only ends with the 'break keyword' which is why the 2nd argument is blank
               int product = i * m;
               double squareRoot = Math.sqrt(product);
               if(squareRoot - Math.floor(squareRoot) == 0) {
                   //when the square root is just a whole number(when decimal part is just zero), it is a perfect square
                   n = i;
                   break; //loop ends here
               }
           }
          
           System.out.println("The smallest number n for m * n to be a perfect square is " + n); //prints out n
           System.out.println("m * n is " + (m*n)); //prints out product of m and n
       }catch(IllegalArgumentException e) {
           System.out.println("Invalid input!"); //prints out error message
       }
   }
}

 

But after that its showing the follwoing :

Exercise11_17.java:5: error: class Squares is public, should be declared in a file named Squares.java

public class Squares {

1 error

 

What Am i doing wrong? Can you correct me?
Thank You 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education