• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2306
  • 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
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

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