Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Method call getting completely ignored.

DynamiAug 3 2017 — edited Aug 7 2017

Hello. I was making a program that converts decimal numbers to binary numbers.

And I made one method for each step. that is,

1. take the binary number and separate each digit, and then take each digit and add to an arraylist in the reverse order.(method name: Binary2ArrayList)

2.check each digit and if it is "1" add the a power of 2 equivalent to the column(Method name: Arraylist2Decimal)

Basically,

0.(input) 110

1.  1 1 0 -> 0 1 1

2.   [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768]

       0  1  1

       (ignore, add,add)

3. 2+4 = 6

result = 6

I know this is not the most optimal way to do it, but I'm doing it this way so i can practice more coding with a single project.

but what happened, is that my program completely ignores the "Arraylist2Decimal" method even after called.

I will be really grateful if someone could help me.

(Using netbeans IDE)

Code:

package javaapplication1;

import java.util.Scanner;

import java.util.ArrayList;

 

    public class Binary2Decimal2Binary {

    private static long binary1;

    private static long binary2;

    private final static ArrayList POWERSOF2 = new ArrayList<Integer>();

    private final static ArrayList<Integer> SEPARATED2 = new ArrayList<Integer>();

    private static int result1 = 0;

    private static int result2 = 0;

    private final static ArrayList<Integer> SEPARATED1 = new ArrayList<Integer>();

    static public int getNthDigit(int number, int n) {  

  return (int) ((number / Math.pow(10, n - 1)) % 10);

}

    static void binary2ArrayList(long binary1, long binary2){

    String separating1 = String.valueOf(binary1);

    for(int i = 1; i < separating1.length() + 1; i++) {

        int j =(int) getNthDigit((int)binary1, i);

        SEPARATED1.add(j);}

     String separating2 = String.valueOf(binary2);

     for(int x = 1; x < separating2.length() + 1; x++) {

         int y =(int) getNthDigit((int)binary2,x);

         SEPARATED2.add(y);

     }

     System.out.println("Debugger 1 :" + SEPARATED1);

      System.out.println("Debugger2 :" + SEPARATED2);

   

    }

    static void Arraylist2Decimal(){

       for(int i = 1; i == SEPARATED1.size() + 1; i++) {

         int intValue = (int)SEPARATED1.get(i);

         int addition = (int) POWERSOF2.get(i);

         if(intValue == 1){

             result1 += addition;

         }

       System.out.println("Debugger 3:" + result1);

       }

       for(int k = 1; k == SEPARATED2.size() + 1; k++) {

         int intValue = (int) SEPARATED2.get(k);

         int addition = (int) POWERSOF2.get(k);

         if(intValue == 1){

             result2 += addition;

         }

         System.out.println("Debugger 4 :" + result2);

    }};

        public static void main(String[] args) {

            POWERSOF2.add(1);

            POWERSOF2.add(2);

            POWERSOF2.add(4);

            POWERSOF2.add(8);

            POWERSOF2.add(16);

            POWERSOF2.add(32);

            POWERSOF2.add(64);

            POWERSOF2.add(128);

            POWERSOF2.add(256);

            POWERSOF2.add(512);

            POWERSOF2.add(1024);

            POWERSOF2.add(2048);

            POWERSOF2.add(4096);

            POWERSOF2.add(8192);

            POWERSOF2.add(16384);

            POWERSOF2.add(32768);

            System.out.println("Powers of 2:" + POWERSOF2);

           Scanner scan = new Scanner(System.in);

     System.out.println("Input first binary number.");

     binary1 = scan.nextLong();

     System.out.println("Input second binary number.");

     binary2 = scan.nextLong();

     scan.close();

     binary2ArrayList(binary1,binary2);

     Arraylist2Decimal();

     System.out.println("First Number Converted:" + result1);

     System.out.println("Second Number Converted:" + result2);

 

 

 

        }}

input : 110

101

output :

Debugger 1 :[0, 1, 1]

Debugger2 :[1, 0, 1]

First Number Converted:0

Second Number Converted:0

(Note that "Debugger 3"println and "Debugger 4"println is not working.)

Comments

Timo Hahn

User, tell us your exact JDev version, please!
Your REST endpoint wouldn't make sense this way. The 'Employees' represent a collection that isn't parameterized by default. That's why you normally add something like 'action' or 'acton/test1' to the endpoint to make sure everybody knows that you do something on the collection of employees.
I would not encourage you to use the method at all, as in 12.2.1.4 you don't even get it in the wizard. It's easier to create your own REST service and call the application module methods from there. This way you can design your own API, e.g more like OpenAPI instead of relying on JDev and ADF.

Timo

Joby-Oracle

I am using Jdev 12.2.1.5.0.
I used the above link for reference.
My actual URL looks like:
{{hostAddress}}/restApp/resources/11.13.18.05/employees
I have added manually methodAction tag in the resource xml file , to enable the custom method.
So you are saying that this is not possible using ADF .

Timo Hahn
Answer

There is no official version 12.2.1.5. You are using an internal version not available to the public.
All I'm saying is that you don't even see the method tab in 12.2.1.4 and custom methods are depricated. So, yes, from my point of view you can't do it with ADF REST service.
It might be possible that you see the tab in your version, but then you have to ask this question to some internal resource.

Timo

Marked as Answer by Joby-Oracle · Jun 2 2022
1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 4 2017
Added on Aug 3 2017
5 comments
347 views