How to modify/split invidual string in an array










-2















How to create a method send in an array of names in “firstName lastName” form(ex:Anna Hale). The method returns the name(through a return statement) in the form “first---last”. Below is my full name array



public static void readData(String file) throws FileNotFoundException 
x = new Scanner(new File(file));

n = 0;
while(x.hasNextLine())
n++;
x.nextLine();

name = new String[n];
Scanner x1 = new Scanner(new File(file));

for(int i = 0; i < name.length; i++ )
name[i] = x1.nextLine();
System.out.println(Arrays.toString(name));










share|improve this question
























  • The value of x.nextLine(); needs to be assigned to a variable e.g. line = x.nextLine();

    – Scary Wombat
    Nov 15 '18 at 6:26
















-2















How to create a method send in an array of names in “firstName lastName” form(ex:Anna Hale). The method returns the name(through a return statement) in the form “first---last”. Below is my full name array



public static void readData(String file) throws FileNotFoundException 
x = new Scanner(new File(file));

n = 0;
while(x.hasNextLine())
n++;
x.nextLine();

name = new String[n];
Scanner x1 = new Scanner(new File(file));

for(int i = 0; i < name.length; i++ )
name[i] = x1.nextLine();
System.out.println(Arrays.toString(name));










share|improve this question
























  • The value of x.nextLine(); needs to be assigned to a variable e.g. line = x.nextLine();

    – Scary Wombat
    Nov 15 '18 at 6:26














-2












-2








-2








How to create a method send in an array of names in “firstName lastName” form(ex:Anna Hale). The method returns the name(through a return statement) in the form “first---last”. Below is my full name array



public static void readData(String file) throws FileNotFoundException 
x = new Scanner(new File(file));

n = 0;
while(x.hasNextLine())
n++;
x.nextLine();

name = new String[n];
Scanner x1 = new Scanner(new File(file));

for(int i = 0; i < name.length; i++ )
name[i] = x1.nextLine();
System.out.println(Arrays.toString(name));










share|improve this question
















How to create a method send in an array of names in “firstName lastName” form(ex:Anna Hale). The method returns the name(through a return statement) in the form “first---last”. Below is my full name array



public static void readData(String file) throws FileNotFoundException 
x = new Scanner(new File(file));

n = 0;
while(x.hasNextLine())
n++;
x.nextLine();

name = new String[n];
Scanner x1 = new Scanner(new File(file));

for(int i = 0; i < name.length; i++ )
name[i] = x1.nextLine();
System.out.println(Arrays.toString(name));







java arrays split






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 6:47









secret super star

1,026316




1,026316










asked Nov 15 '18 at 6:07









James PJames P

102




102












  • The value of x.nextLine(); needs to be assigned to a variable e.g. line = x.nextLine();

    – Scary Wombat
    Nov 15 '18 at 6:26


















  • The value of x.nextLine(); needs to be assigned to a variable e.g. line = x.nextLine();

    – Scary Wombat
    Nov 15 '18 at 6:26

















The value of x.nextLine(); needs to be assigned to a variable e.g. line = x.nextLine();

– Scary Wombat
Nov 15 '18 at 6:26






The value of x.nextLine(); needs to be assigned to a variable e.g. line = x.nextLine();

– Scary Wombat
Nov 15 '18 at 6:26













1 Answer
1






active

oldest

votes


















1














Here is the full code assuming you want to read from file. Please correct the compile time errors in your code posted. Since you do not know the length of array in advance you can't initialise the array or you can change the logic to get the number of lines then initialise array.



The file contents looks like below:



abc xyzzy
And sdff
Asdf sdfw


The output looks like below



[abc--xyzzy, And--sdff, Asdf--sdfw]


In the below code name[i].replace(" ", "--"); replaces space " " with --



Code:



import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Post1

public static void main(String args) throws FileNotFoundException
String transformedNames = readData("/Users/kuma/Desktop/post1.txt");
System.out.println(Arrays.toString(transformedNames));


public static String readData(String file) throws FileNotFoundException
Scanner x = new Scanner(new File(file));
List<String> list = new ArrayList<>();

while(x.hasNextLine())
list.add(x.nextLine());

x.close();
String name = new String[list.size()];

list.toArray(name);

String transformedNames = new String[list.size()];

for(int i = 0; i < name.length; i++ )
transformedNames[i] = name[i].replace(" ", "--");

return transformedNames;





The same is being achieved in Java 8 using stream API:



private static String readDataUsingJava8() 
String transformedNames = null;
try (Stream<String> stream = Files.lines(Paths.get( "/Users/kuma/Desktop/post1.txt")))
transformedNames =
stream.map(new Function<String, String>()

@Override
public String apply(String t)
// TODO Auto-generated method stub
return t.replace(" ", "--");

).toArray(String::new);

catch (IOException e)
e.printStackTrace();

return transformedNames;






share|improve this answer

























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53313397%2fhow-to-modify-split-invidual-string-in-an-array%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Here is the full code assuming you want to read from file. Please correct the compile time errors in your code posted. Since you do not know the length of array in advance you can't initialise the array or you can change the logic to get the number of lines then initialise array.



    The file contents looks like below:



    abc xyzzy
    And sdff
    Asdf sdfw


    The output looks like below



    [abc--xyzzy, And--sdff, Asdf--sdfw]


    In the below code name[i].replace(" ", "--"); replaces space " " with --



    Code:



    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Scanner;

    public class Post1

    public static void main(String args) throws FileNotFoundException
    String transformedNames = readData("/Users/kuma/Desktop/post1.txt");
    System.out.println(Arrays.toString(transformedNames));


    public static String readData(String file) throws FileNotFoundException
    Scanner x = new Scanner(new File(file));
    List<String> list = new ArrayList<>();

    while(x.hasNextLine())
    list.add(x.nextLine());

    x.close();
    String name = new String[list.size()];

    list.toArray(name);

    String transformedNames = new String[list.size()];

    for(int i = 0; i < name.length; i++ )
    transformedNames[i] = name[i].replace(" ", "--");

    return transformedNames;





    The same is being achieved in Java 8 using stream API:



    private static String readDataUsingJava8() 
    String transformedNames = null;
    try (Stream<String> stream = Files.lines(Paths.get( "/Users/kuma/Desktop/post1.txt")))
    transformedNames =
    stream.map(new Function<String, String>()

    @Override
    public String apply(String t)
    // TODO Auto-generated method stub
    return t.replace(" ", "--");

    ).toArray(String::new);

    catch (IOException e)
    e.printStackTrace();

    return transformedNames;






    share|improve this answer





























      1














      Here is the full code assuming you want to read from file. Please correct the compile time errors in your code posted. Since you do not know the length of array in advance you can't initialise the array or you can change the logic to get the number of lines then initialise array.



      The file contents looks like below:



      abc xyzzy
      And sdff
      Asdf sdfw


      The output looks like below



      [abc--xyzzy, And--sdff, Asdf--sdfw]


      In the below code name[i].replace(" ", "--"); replaces space " " with --



      Code:



      import java.io.File;
      import java.io.FileNotFoundException;
      import java.util.ArrayList;
      import java.util.Arrays;
      import java.util.List;
      import java.util.Scanner;

      public class Post1

      public static void main(String args) throws FileNotFoundException
      String transformedNames = readData("/Users/kuma/Desktop/post1.txt");
      System.out.println(Arrays.toString(transformedNames));


      public static String readData(String file) throws FileNotFoundException
      Scanner x = new Scanner(new File(file));
      List<String> list = new ArrayList<>();

      while(x.hasNextLine())
      list.add(x.nextLine());

      x.close();
      String name = new String[list.size()];

      list.toArray(name);

      String transformedNames = new String[list.size()];

      for(int i = 0; i < name.length; i++ )
      transformedNames[i] = name[i].replace(" ", "--");

      return transformedNames;





      The same is being achieved in Java 8 using stream API:



      private static String readDataUsingJava8() 
      String transformedNames = null;
      try (Stream<String> stream = Files.lines(Paths.get( "/Users/kuma/Desktop/post1.txt")))
      transformedNames =
      stream.map(new Function<String, String>()

      @Override
      public String apply(String t)
      // TODO Auto-generated method stub
      return t.replace(" ", "--");

      ).toArray(String::new);

      catch (IOException e)
      e.printStackTrace();

      return transformedNames;






      share|improve this answer



























        1












        1








        1







        Here is the full code assuming you want to read from file. Please correct the compile time errors in your code posted. Since you do not know the length of array in advance you can't initialise the array or you can change the logic to get the number of lines then initialise array.



        The file contents looks like below:



        abc xyzzy
        And sdff
        Asdf sdfw


        The output looks like below



        [abc--xyzzy, And--sdff, Asdf--sdfw]


        In the below code name[i].replace(" ", "--"); replaces space " " with --



        Code:



        import java.io.File;
        import java.io.FileNotFoundException;
        import java.util.ArrayList;
        import java.util.Arrays;
        import java.util.List;
        import java.util.Scanner;

        public class Post1

        public static void main(String args) throws FileNotFoundException
        String transformedNames = readData("/Users/kuma/Desktop/post1.txt");
        System.out.println(Arrays.toString(transformedNames));


        public static String readData(String file) throws FileNotFoundException
        Scanner x = new Scanner(new File(file));
        List<String> list = new ArrayList<>();

        while(x.hasNextLine())
        list.add(x.nextLine());

        x.close();
        String name = new String[list.size()];

        list.toArray(name);

        String transformedNames = new String[list.size()];

        for(int i = 0; i < name.length; i++ )
        transformedNames[i] = name[i].replace(" ", "--");

        return transformedNames;





        The same is being achieved in Java 8 using stream API:



        private static String readDataUsingJava8() 
        String transformedNames = null;
        try (Stream<String> stream = Files.lines(Paths.get( "/Users/kuma/Desktop/post1.txt")))
        transformedNames =
        stream.map(new Function<String, String>()

        @Override
        public String apply(String t)
        // TODO Auto-generated method stub
        return t.replace(" ", "--");

        ).toArray(String::new);

        catch (IOException e)
        e.printStackTrace();

        return transformedNames;






        share|improve this answer















        Here is the full code assuming you want to read from file. Please correct the compile time errors in your code posted. Since you do not know the length of array in advance you can't initialise the array or you can change the logic to get the number of lines then initialise array.



        The file contents looks like below:



        abc xyzzy
        And sdff
        Asdf sdfw


        The output looks like below



        [abc--xyzzy, And--sdff, Asdf--sdfw]


        In the below code name[i].replace(" ", "--"); replaces space " " with --



        Code:



        import java.io.File;
        import java.io.FileNotFoundException;
        import java.util.ArrayList;
        import java.util.Arrays;
        import java.util.List;
        import java.util.Scanner;

        public class Post1

        public static void main(String args) throws FileNotFoundException
        String transformedNames = readData("/Users/kuma/Desktop/post1.txt");
        System.out.println(Arrays.toString(transformedNames));


        public static String readData(String file) throws FileNotFoundException
        Scanner x = new Scanner(new File(file));
        List<String> list = new ArrayList<>();

        while(x.hasNextLine())
        list.add(x.nextLine());

        x.close();
        String name = new String[list.size()];

        list.toArray(name);

        String transformedNames = new String[list.size()];

        for(int i = 0; i < name.length; i++ )
        transformedNames[i] = name[i].replace(" ", "--");

        return transformedNames;





        The same is being achieved in Java 8 using stream API:



        private static String readDataUsingJava8() 
        String transformedNames = null;
        try (Stream<String> stream = Files.lines(Paths.get( "/Users/kuma/Desktop/post1.txt")))
        transformedNames =
        stream.map(new Function<String, String>()

        @Override
        public String apply(String t)
        // TODO Auto-generated method stub
        return t.replace(" ", "--");

        ).toArray(String::new);

        catch (IOException e)
        e.printStackTrace();

        return transformedNames;







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 15 '18 at 6:59

























        answered Nov 15 '18 at 6:32









        secret super starsecret super star

        1,026316




        1,026316





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53313397%2fhow-to-modify-split-invidual-string-in-an-array%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

            Syphilis

            Darth Vader #20