Converting a string to an integer array

This is kind of a newbie question, but:
If I have a string which looks like this: "12,54,253,64"
what is the most effective/elegant/best/etc. way to convert it into an integer array (of course not including the ","s :-)
Any suggestions are greatly appreciated.

Thanks, I'll do that. I was looking at StringTokenizer and other things, but it seems they are not implemented in j2me?

Similar Messages

  • Converting a String to an integer?

    i need to convert a string to an integer..i searched through the site but i didn't find anything...
    Is this conversion possible?

    You didn't look very hard - it's right in the javadocs:
    String s = "44";
    int x = Integer.parseInt(s);I'll leave the exception handling for you.

  • Converting a string to an integer value

    How can I convert a string to an integer?

    sorry, not "of new Integer.." but "or new Integer(.."
    Message was edited by:
    s-e-r-g-e

  • Converting a string to an integer - NumberFormatException

    Hello,
    I have 2 string arrays, one that olds names and one that holds id numbers. They are both stored in a file as Strings. I then read this file into my program and put split the strings up into an array.
    I then try to convert the id to integer inside my program like so:
    public void make_array(String[] car_info) {
                    // put in arraylist and change variable type to correct ones
                    final int ID_INDEX = 0;
                    final int TYPE = 1;
                    int cust_id = 22;
                    String type;
                    //convert to correct variable types
                    try {
                            //convert to string
                            cust_id = Integer.parseInt(car_info[ID_INDEX]);   
                    } catch (NumberFormatException e) { System.out.println(e); }
                    type = car_info[TYPE];
    }I then get the errors when i try this:
    java.lang.NumberFormatException: For input string: "1"
    So the id was stored as "1", but i want to convert it to an integer value. Any ideas on why this happends? Also before i try to convert i output the id from the array and it is correct, after the conversion it is 0, obviously it is not working. But i'm not sure what is wrong.
    Any ideas?

    only works when the string is a single number suchas
    "1" or "4". If you try to use it with the input
    string as a longer one like "123" or "12" itcreates
    a NumberFormatExceptionYou must be mistaken. The value must not be what you
    think it is. Do some debugging:
    String strVal = car_info[ID_INDEX].trim();
    System.out.println("This is the number to be
    parsed -->" + strVal + "<--");
    customer_id = Integer.parseInt(strVal);That is a good idea, but it seems as though the string is fine: I did:
    gary@linuxbox# cat cars
    this output:
    1,5,Renault Clio,Small Car,25,4,false
    As you can see the number 25 is a two figure number, and it looks good. I also output the number in the java program like this:
    System.out.println("the number is ------>" + twodigitnumber + "<------");This output the number: ------->25<---------- So there doesn't seem to be any wierd spacing or characters there.

  • Convert text string file to object array without outputting to file first?

    I have a log file that is just a text string file which is appended to with Out-File.  If the log file does not exist I pipe headers to it so that I can import the data as CSV.  For example:
    DATA.LOG
    DATE,TIME,RESPONSE_TIME
    05-28-2014, 14:47, 132
    05-28-2014, 14:50, 94
    05-28-2014, 14:53, 72
    I'm using Microsoft Chart Controls to graph the data; it takes it in via CSV format.  If I'm going to chart all the entries in DATA.LOG I can simply IMPORT-CSV DATA.LOG.  But I only want to graph the 20 most recent entries.
    Perhaps there is a better way to do this, but to maintain the header and get the 20 most recent entries I'm using select.
    $DATA+=Get-Content .\data.log | select -first 1
    $DATA+=Get-Content .\data.log | select -last 20
    The problem is $DATA is of type system string so I can't use it directly with Chart Controls; I need to get it in CSV format first.  I can Out-File $DATA and then use IMPORT-CSV.  But I'd prefer to not have to use
    the temporary file.  Any suggestions on how I can accomplish this objective? 

    Import-CSV creates an object with the 'header' becoming the named values in the array.  The code I posted does the same thing as your 4 lines of code in one line of code:
    Much more quickly:
    PS C:\temp> (1..1000 | measure-command {import-csv .\data.log | select -last 2}).totalseconds
    0.4792951
    PS C:\temp> (1..1000 | measure-command {$DATATMP=@();$DATATMP+=Get-Content .\data.log | select -first 1;$DATATMP+=Get-Content .\data.log | select -last 2;ConvertFrom-CSV $DATATMP}).totalseconds
    1.6227726
    You're more than welcome to use whatever code you want, but if you want to improve your Powershell knowledge you should try to understand the object model around which Powershell is built, it is powerful and efficient.
    I hope this post has helped!

  • 2 parts: 1) integer array to string 2) string out to a jTextField

    I am completely new to Java and Netbeans, but I'm writing my 1st
    application that takes a "hex" character input from a jTextField,
    then converts it to an "binary" integer array. I then do a lot of bit
    manipulation, and generate a new "binary" integer array.
    String myhex = jTextField1.getText();
        int len = myhex.length();
        int[] binarray = new int[len*4];
            for (int i = 0; i < len; i++) {
               if (myhex.charAt(i) == '0'){
                  binarray[4*i]=0;
                  binarray[4*i+1]=0;
                  binarray[4*i+2]=0;
                  binarray[4*i+3]=0;
               else if (myhex.charAt(i) ==
               // repeat for '1 to 9' and 'a-f/A-F'
               // generate new integer array(s) using various bits from binarrayI realize it might not be the best way to do the
    conversion, but my input can be of arbitrary length,
    and it is my first time trying to write Java code.
    All of the above I've completed and it works...(thanks Netbeans
    for making the gui interface design a real breeze!)
    So I end up with:
    binarray[0]=0 or 1
    binarray[1]=0 or 1
    binarray[2]=0 or 1
    binarray[n]=0 or 1
    Where n can be any number from 0 to 63...
    I then manipulate the bits in binarray creating a new integer array
    and for the sake of expediency let's call it "newbinarray".
    newbinarray[0]=0 or 1
    newbinarray[1]=0 or 1
    newbinarray[2]=0 or 1
    newbinarray[n]=0 or 1
    Where n can be any number from 0 to 63...
    I first need to know how to convert this "newbinarray" integer array to a string.
    In the simplest terms if the first three elements of the array are [0][1][1],
    I want the string to be 011.
    Then I want to take this newly formed string and output it to a jTextField.
    string 011 output in JTextField as 011
    I've scoured the net, and I've seen a lot of complex answers involving
    formatting, but I'm looking for just a simple answer here so I can finish
    this application as quickly as possible.
    Thanks,
    Thorne Kontos

    Here's an example, not using NetBeans:
    import javax.swing.*;
    public class TextDemo extends JPanel
        public TextDemo()
            int[] newbinarray = {0, 1, 1};
            StringBuffer sb = new StringBuffer();
            for (int value : newbinarray)
                sb.append(value);
            String st = new String(sb);
            this.add(new JTextField(st));
        private static void createAndShowGUI()
            JFrame frame = new JFrame("TextDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(new TextDemo());
            frame.pack();
            frame.setVisible(true);
        public static void main(String[] args)
            javax.swing.SwingUtilities.invokeLater(new Runnable()
                public void run()
                    createAndShowGUI();
    }

  • Convert a string to an array of character

    What would be the easiest way to convert a string "HELLO" to an array of character "H" "E" "L" "L" "O" ?
    I have a way to do it with a for loop but I'm wondering if there is nothing even more simple.
    Thanks in advance,
    Martin

    Try typecast instead.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    HELLOCast.gif ‏2 KB

  • Saving an integer array into a .txt file

    hii, im only a beginner in java, so this is the only code i've learned so far for saving array elements into a file
         public static void saveNames(String [] name) throws IOException
                   FileWriter file = new FileWriter("Example\\names.txt");
                   BufferedWriter out = new BufferedWriter(file);
                   int i = 0;
                   while (i < name.length)
                             if (name[i] != null)
                                  out.write(name);
                                  out.newLine();
                                  i++;
                   out.flush();
                   out.close();
    However, this is only used for string arrays; and i can't call the same method for an integer array (because it's not compatible with null)
    I don't really understand this code either... since my teacher actually just gave us the code to use, and didn't really explain how it works
    I have the same problem for my reading a file code as well --> it's only compatible with string
         public static String [] readNames (String [] name) throws IOException
              int x = 0;
              int counter = 0;
              String temp = "asdf";
              name = new String [100];
              FileReader file = new FileReader("Example\\names.txt");
              BufferedReader in = new BufferedReader(file);
              int i = 0;
              while (i < array.length && temp != null)                    // while the end of file is not reached
                   temp = in.readLine();
                   if (temp != null)
                        name[i] = temp;                    // saves temp into the array
                   else
                        name[i] = "";
                   i++;
              in.close();                                   // close the file
              return name;
    Could someone suggest a way to save elements from an integer array to a file, and read integer elements of that file?
    Or if it's possible, replace null with a similar variable (function?), that is suitable for the integer array (i can't use temp != 0 because some of my elements might be 0)
    Thanks so much!!!!!

    because it's not compatible with nullI think it should be okay to just remove the null condition check since there are no null elements in a primitive array when writing.
    Use Integer.parseInt() [http://java.sun.com/javase/6/docs/api/java/lang/Integer.html] to convert the String into an Integer when you read it back and use Integer.toString() to be able to write it as a String.

  • Coverting from a string to an integer

    Hi:
    Is it possible to covert a string to an integer?
    For example I want to convert the following string values to integers so that I can develop a method to use java.util.Date to test for overlapping appointments.
    Ex:
    markCalendar.addApp(new Appointment("June 1","3pm","4pm", "dentist"));
    I want to convert the startTime and the endTime to integers. And compare the startTime and endTime to a vector of appointments.
    Should this approch work?
    Thanks.
    Describes a calendar for a set of appointments.
    @version 1.0
    import java.util.Vector;
    public class CalendarTest
    {  public static void main(String[] args)
          Calendar markCalendar = new Calendar("Mark");
          markCalendar.addApp(new Appointment("June 1","3pm","4pm", "dentist"));
           markCalendar.addApp(new Appointment("June 2","3pm","4pm", "doctor"));
           markCalendar.print();
          Appointment toFind = new Appointment("June 2","3pm","4pm", "doctor");
          markCalendar.removeApp(toFind);   
          markCalendar.addApp(new Appointment("June 2","3pm","4pm", "dentist"));
          markCalendar.print();
          Appointment dups = (new Appointment("June 2","3pm","4pm", "dentist"));
          markCalendar.dupsTest(dups);
    Describes a calendar for a set of appointments.
    class Calendar
       Constructs a calendar for the person named.
       public Calendar(String aName)
       {  name = aName;
          appointments = new Vector();
       Adds an appointment to this Calendar.
       @param anApp The appointment to add.
       public void addApp(Appointment anApp)
          appointments.add(anApp);
       Removes an appointment from this Calendar.
       @param anApp The appointment to be removed.
       public void removeApp(Appointment toFind)
          for ( int i = 0; i < appointments.size(); i++)
             if (((Appointment)appointments.get(i)).equals(toFind))
                 appointments.remove(i);
       Tests for duplicate appointment dates.
       public void dupsTest(Appointment app)
          for (int x = 0; x < appointments.size(); x++)
             //Appointment cmp = (Appointment)appointments.elementAt(x);
             //System.out.println("cmp  " + cmp);
             for (int y = appointments.size()-1; y > x; y --)
                Appointment nextApp =(Appointment) appointments.get(y);
                //if (app.equals((Appointment)appointments.elementAt(y)))
                if (app.equals (nextApp))
                {  System.out.println("duplicates  ");
                   nextApp.print();
       Prints the Calendar.
       public void print()
       {  System.out.println(name + "               C A L E N D A R");
          System.out.println();
           System.out.println("Date   Starttime    EndTime   Appointment");
          for (int i = 0; i < appointments.size(); i++)
          {  Appointment nextApp =(Appointment) appointments.get(i);
             nextApp.print();
          //appointments.dupsTest(Appointments anApp);
       private Vector appointments;
       private String name;
       private Appointment theAppointment;
    Describes an appointment.
    class Appointment
       public Appointment(String aDate,String aStarttime,String aEndtime, String aApp)
       {  date = aDate;
          starttime = aStarttime;
           endtime = aEndtime;  
          app = aApp;
    Method to test whether on object equals another.
    @param otherObject  The other object.
    @return true if equal, false if not
    public boolean equals(Object otherObject)
          if (otherObject instanceof Appointment)
          {  Appointment other = (Appointment)otherObject;
             return (date.equals(other.date) && starttime.equals(other.starttime)
                     && endtime.equals(other.endtime) && app.equals(other.app));
           else return false;
       Prints the Date, Starttime, Endtime and a description of the
       appointment.
       public void print()  
       {  System.out.println();
          System.out.println(date + "   " + starttime + "          " + endtime
              + "       " + app );
          System.out.println();
       private String date;
       private String starttime;
       private String endtime;
       private String app;

    Hello,
    First I would like to suggest, DONT use the class names that have already being defined in JAVA, Here you have used, CALENDAR class, this approach should be avoided, If this class is in the same project where you also want to use the JAVA CALENDAR class, then you mite not be able to do so.
    As for the conversion, A simple way is that:
    You already know that the time cannot go more than 2 digits (Specifically not more than 24 hours in case of hours and 60 in case of minutes) and the (am) (pm) takes 2 more places, so what you can do is validate if the string size is 4 or 3, if 4 then take the first 2 substrings i.e. somestring.substring(0,2) and then use the Ineteger.parseInt(some string) method.
    similarly if the String size is 3 then take the first substring
    e.g. somestring.substring(0,1)
    This is how you can convert the string to the Integer and compare it, You can store it as an Integer Object and store it in the Vector If you want to.
    Hope this helps
    Regards
    Rohan

  • Converting time string to integer (****) in Labview 5.1

    So i'm very new to labview, learning as i go, but as the title says, i
    need to convert a time string to an ineger so that it can be placed in
    an integer array which will be compiled then writen to file at a
    specified end ( by user ) I just want 4 digits **** to indicate
    military time. And unfortuanly i'm stuck with labview 5.1. Any help would be greatly appreciated.

    I believe the diagram I have attached may have been possible in LV 5.1.
    Try to wire this up and see if it works.
    The icons may have changed a little between LV 5.1 and 6.1.
    Ben
    Message Edited by Ben on 10-15-2005 02:49 PM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Mitary Time.JPG ‏19 KB

  • Convert binary string into binary array

    Dear I am looking for a way to convert my ten bit string array into 10 bit array.
    Any idea?

    Yes, but you need to tell us in more details what you have and what you want.
    There is no "10bit string", they come in integer multiples of 8 bits. Some possible interpretations:
    Maybe you have a 2 character string (16bits). Do you want the 10 low order bits?
    Maybe you have a 10 character formatted string of zeroes and ones, one character for each bit.
    Do you have a long string and every 10 consecutive bits are one 10bit number that you want as integer?
    Please clarify!
    There is no "10bit array". Do you want:
    a boolean array with 10 elements, one element per bit?
    An integer array if ones and zeroes?
    An array of U16, each element corresponding to 10bits of the original string?
    something else?
    It might help if you could attach a small example containing typical data. (make current values default before saving and attaching here).
    LabVIEW Champion . Do more with less code and in less time .

  • How to convert string to an integer in SQL Server 2008

    Hi All,
    How to convert string to an integer in sql server,
    Input : string str="1,2,3,5"
    Output would be : 1,2,3,5
    Thanks in advance.
    Regards,
    Sunil

    No, you cannot convert to INT and get 1,2,3 BUT you can get
    1
    2
    3
    Is it ok?
    CREATE FUNCTION [dbo].[SplitString]
             @str VARCHAR(MAX)
        RETURNS @ret TABLE (token VARCHAR(MAX))
         AS
         BEGIN
        DECLARE @x XML 
        SET @x = '<t>' + REPLACE(@str, ',', '</t><t>') + '</t>'
        INSERT INTO @ret
            SELECT x.i.value('.', 'VARCHAR(MAX)') AS token
            FROM @x.nodes('//t') x(i)
        RETURN
       END
    ----Usage
    SELECT * FROM SplitString ('1,2,3')
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Converting XML String to MessageElement array

    Hi,
    I am trying to call a .NET web service from my Java client. I used WSDL2Java to generate the java classes for calling the .NET web service. The generated classes to call the service expects an array of org.apache.axis.message.MessageElement objects. I have a string representing an XML document which looks like this:
    String xmlString = "<Results><Adjustments><Adjustment><RebuildAdjustmentID>16</RebuildAdjustmentID><IsBasicAdjustment>true</IsBasicAdjustment><AdjustmentType>stone/AdjustmentType><Title>External walls</Title></Adjustment></Adjustments></Results>"
    I have tried converting the string into an array of MessageElement objects by the following way:
    MessageElement[] m = new MessageElement[1];
    Document XMLDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(result2.toString())));
    m[0] = XMLDoc.getDocumentElement();
    However I keep getting the following message returned from the service:
    "Object reference not set to an instance of an object"
    I have tried a handful of ways but keep getting this same error. I have searched the web for hours looking for a solution to this problem without success so any help/ideas much appreciated,
    Thanks.
    Paul

    Any updates on this?
    I am facing a similar problem.

  • Converting a string of numbers into an array of booleans

    For a homework assignment, I need to convert a string of numbers into an array of booleans.  The string is a bunch of random numbers (0-9) in sequence, with no spaces.  It looks something like this: 0123452348949230740329817438120947392147809231419.  I need to make it so that each even number represents a "True" boolean and so that each odd number represents a "False" boolean.  I think that I first need to convert each element of the string into a number, and then use a case structure (or something) to say, for each element of the array, "If even, then true.  If odd, then false," but I could be wrong.  Any suggestions?

    billko wrote:
    Hooovahh wrote:
    billko wrote:
    Sounds reasonable.  Think about the definition of "odd" and "even" and it will make life a lot easier. 
    I know you are trying to be vague but I'd like to give a key hint.  Use the Quotient and Remainder function.
    LOL maybe that was one of the objectives of the homework. 
    To be fair it sounds like there is more work that is needed.  A new user of LabVIEW will have a hard time figuring out how to process each character one at a time when it isn't in an array.  
    It's just that most people (me at least) stopped thinking about division with quotient and remainder after basic algebra.  I then of course changed my way of thinking when I used LabVIEW.  Still most of the time when you use division you want to know the fractional part as a decimal.  Thinking this way makes the problem more difficult then it needs to be.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • How to convert a String to an array

    Can somebody tell me how to convert a String to an array

    ronisto wrote:
    Can somebody tell me how to convert a String to an arrayI assume you mean to convert it into an array of the individual characters that comprise the String.
    Can you not simply look at the API documentation? Nothing in the String API jumps out at you?
    http://java.sun.com/javase/6/docs/api/index.html

Maybe you are looking for