0

My instance of the class "Conversion" returns this error when I compile the program.

import java.util.Scanner;

public class Convert {

    private class Conversion{

        public String getConversion(int inchInput) {
            int yards = (inchInput - (inchInput % 36)) / 36;
            int feet =  (inchInput % 36) - ((inchInput % 36) % 12);
            int inches = (inchInput % 36) % 12;

            return yards + "yards, " + feet + "feet, and " + inches + "inches.";
        }

    } // end of class Conversion

    public static void main( String[] args ) {
        Scanner scanner = new Scanner(System.in);
        int inchInput;
        Conversion conversion;
        conversion = new Conversion();

        // prompt
        System.out.println("Please enter an amout of inches (integer): ");
        inchInput = scanner.nextInt();
        String output = conversion.getConversion(inchInput);
    } // end of method main()
} // enf of class Convert
Aliaksei Bulhak
  • 6,078
  • 8
  • 45
  • 75
liamslagle
  • 63
  • 4

4 Answers4

2

Conversion is inner class to Convert.So you can't access it directly.
You need to create Conversion object like this.

Convert convert =new Convert();
Conversion conversion;
conversion = convert.new Conversion(); 

or declare the Conversion as static

 class Convert {
   private static class Conversion{
     ...............
      ............
  }
}

and create Conversion object like this

Conversion conversion = new Convert.Conversion();
Prabhaker A
  • 8,317
  • 1
  • 18
  • 24
2

Make the Conversion class static so that there is an accesible enclosed instance of the class

private static class Conversion {
  ...
}
Reimeus
  • 158,255
  • 15
  • 216
  • 276
1

set modifier of class to static

private static class Conversion 

at

Sumit Lubal
  • 329
  • 2
  • 13
0

You need probably:

Convert.Conversion cc = new Convert().new Conversion();
cc.getConversion(...);
...
arjacsoh
  • 8,932
  • 28
  • 106
  • 166