[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2208
  • Last Modified:

string to BigInteger array

I have a string (contents) wich is a concatation of numbers (129012002150...) and I use every group of 3 to load a BigInteger array with them:

BigInteger[] B_array;
Int i;

i = 0;
for (int x=0; x < contents.length()-3; x+=3)
{
B_array[i] = BigInteger.valueOf(contents.substring(x,x+3)));
i = i +1;
}

and it doesn't work. I want to have in my B_array something like:
129
12
2
150
.
.
0
edi02
Asked:
edi02
  • 12
  • 5
1 Solution
 
zzynxSoftware engineerCommented:
BigInteger.valueOf() doesn't take a String
0
 
zzynxSoftware engineerCommented:
Try

B_array[i] = new BigInteger(contents.substring(x,x+3));
0
 
zzynxSoftware engineerCommented:
This works:

        String contents = "129012002150";
        BigInteger[] B_array = new BigInteger[contents.length()/3];      // <<<<< have to new these ones
        int i = 0;
        for (int x=0; x <= contents.length()-3; x+=3) {                        // x <= instead of x <
            B_array[i] = new BigInteger(contents.substring(x,x+3));
            i++;
        }
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
zzynxSoftware engineerCommented:
Add

        for (int  j=0; j<B_array.length; j++)
            System.out.println( ((BigInteger)B_array[j]).floatValue());

To check the result
0
 
edi02Author Commented:
thanx
0
 
zzynxSoftware engineerCommented:
You're welcome.
Kindly close this Q if you feel like your problem is solved.
0
 
edi02Author Commented:
May i ask u one more question ...

How do you transform from Integer to BigInteger?
0
 
zzynxSoftware engineerCommented:
       Integer i = new Integer(2000);
        BigInteger b = new BigInteger("" + i);
0
 
zzynxSoftware engineerCommented:
Or

       BigInteger b = BigInteger.valueOf(i.intValue());
0
 
edi02Author Commented:
I tried that and got this error:

C:\Second\second.java:167: int cannot be dereferenced
p_calc[indic] = BigInteger.valueOf(p_found.intValue());                                          
Were i have at the start:

private static BigInteger[] p_calc = new BigInteger[100];
0
 
edi02Author Commented:
This worked:

p_calc[indic] = new BigInteger("" + p_found);
0
 
zzynxSoftware engineerCommented:
>> int cannot be dereferenced

if p_found is an int then that should have been
      p_calc[indic] = BigInteger.valueOf(p_found);

The one you wrote would work id p_found was an Integer
0
 
zzynxSoftware engineerCommented:
Still questions/problems?
0
 
edi02Author Commented:
Ahh hopefully the last one ... :-)

Trying to convert a String to a Char. I know exactly my Strings are all between 0 and 255. So im sure they will have each of them a Char representation.

0
 
zzynxSoftware engineerCommented:
Do you mean a String that contains from "0" to "255" ?
>> String to Char
You mean Character of char?

      String s = "123";
      char c = (char) Integer.parseInt(s);
0
 
zzynxSoftware engineerCommented:
Since you posted another Q for that last question, please close this one.
0
 
NaeemgCommented:
can this code help u out.

String myStr = "ThisData";
Char[] myChar = new Char[myStr.getLength()];

for(int i = 0; i < myStr.getLenght(); i++)
     myChar[i] = myStr.charAt(i);


Bye
Naeem Shehzad Ghuman
0
 
zzynxSoftware engineerCommented:
Thanks.

(Better accept the real "answer" as answer for the people that read it afterwards)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 12
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now