need help printing out a string in a 2d array [duplicate]





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







-1
















This question already has an answer here:




  • How to print two dimensional array of strings as String

    5 answers




I am trying to print out a 2 dimentional array in a messagedialog using JOptionPane. I am supposed to create a method that converts the array to a string using a for-loop. I have tried a lot, but it doesn't seem to get the logic working as i want it to. This is what i have so far.



public static String toString(int array) {
String res = "{";
for (int i = 0; i < array.length; i++) {
for (int j = 0; j <array[i].length; j++) {
res += array[i][j];
if(j < array.length-1) {
res += ",";
}
if (i < array.length-1) {
res += "}";
}

}

}res += "}";
return res;
}


Main class:



import javax.swing.JOptionPane;

import arrays.Integer2dArrays;

public class Exercise4b {
public void testArray(int array) {
String message = "";
message += "toString: " + Integer2dArrays.toString( array ) + "n";
message += "elements: " + Integer2dArrays.elements( array ) + "n";
message += "max: " + Integer2dArrays.max( array ) + "n";
message += "min: " + Integer2dArrays.min( array ) + "n";
message += "sum: " + Integer2dArrays.sum( array ) + "n";
message += "average: " + String.format( "%1.2f", Integer2dArrays.average( array ) ) + "n";
JOptionPane.showMessageDialog( null, message );
}

public static void main(String args) {
Exercise4b e4b = new Exercise4b();
int test1 = {{1,2,3,4},{-5,-6,-7,-18},{10,9,8,7}};
int test2 = {{1,2,3,4,5,6},{-7,-8,-9},{2,5,8,11,8},{6,4}};
e4b.testArray(test1);
e4b.testArray(test2);
}
}


The end result should look like this:
The end result should look like this










share|improve this question















marked as duplicate by luk2302, MC Emperor, Mark Rotteveel java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 17 '18 at 9:41


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















  • And what does the end result currently look like?

    – achAmháin
    Nov 16 '18 at 15:50











  • Your code prints opening bracket only at the very beginning. start by figuring out when to add the opening bracket at the middle

    – Sharon Ben Asher
    Nov 16 '18 at 15:56


















-1
















This question already has an answer here:




  • How to print two dimensional array of strings as String

    5 answers




I am trying to print out a 2 dimentional array in a messagedialog using JOptionPane. I am supposed to create a method that converts the array to a string using a for-loop. I have tried a lot, but it doesn't seem to get the logic working as i want it to. This is what i have so far.



public static String toString(int array) {
String res = "{";
for (int i = 0; i < array.length; i++) {
for (int j = 0; j <array[i].length; j++) {
res += array[i][j];
if(j < array.length-1) {
res += ",";
}
if (i < array.length-1) {
res += "}";
}

}

}res += "}";
return res;
}


Main class:



import javax.swing.JOptionPane;

import arrays.Integer2dArrays;

public class Exercise4b {
public void testArray(int array) {
String message = "";
message += "toString: " + Integer2dArrays.toString( array ) + "n";
message += "elements: " + Integer2dArrays.elements( array ) + "n";
message += "max: " + Integer2dArrays.max( array ) + "n";
message += "min: " + Integer2dArrays.min( array ) + "n";
message += "sum: " + Integer2dArrays.sum( array ) + "n";
message += "average: " + String.format( "%1.2f", Integer2dArrays.average( array ) ) + "n";
JOptionPane.showMessageDialog( null, message );
}

public static void main(String args) {
Exercise4b e4b = new Exercise4b();
int test1 = {{1,2,3,4},{-5,-6,-7,-18},{10,9,8,7}};
int test2 = {{1,2,3,4,5,6},{-7,-8,-9},{2,5,8,11,8},{6,4}};
e4b.testArray(test1);
e4b.testArray(test2);
}
}


The end result should look like this:
The end result should look like this










share|improve this question















marked as duplicate by luk2302, MC Emperor, Mark Rotteveel java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 17 '18 at 9:41


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















  • And what does the end result currently look like?

    – achAmháin
    Nov 16 '18 at 15:50











  • Your code prints opening bracket only at the very beginning. start by figuring out when to add the opening bracket at the middle

    – Sharon Ben Asher
    Nov 16 '18 at 15:56














-1












-1








-1









This question already has an answer here:




  • How to print two dimensional array of strings as String

    5 answers




I am trying to print out a 2 dimentional array in a messagedialog using JOptionPane. I am supposed to create a method that converts the array to a string using a for-loop. I have tried a lot, but it doesn't seem to get the logic working as i want it to. This is what i have so far.



public static String toString(int array) {
String res = "{";
for (int i = 0; i < array.length; i++) {
for (int j = 0; j <array[i].length; j++) {
res += array[i][j];
if(j < array.length-1) {
res += ",";
}
if (i < array.length-1) {
res += "}";
}

}

}res += "}";
return res;
}


Main class:



import javax.swing.JOptionPane;

import arrays.Integer2dArrays;

public class Exercise4b {
public void testArray(int array) {
String message = "";
message += "toString: " + Integer2dArrays.toString( array ) + "n";
message += "elements: " + Integer2dArrays.elements( array ) + "n";
message += "max: " + Integer2dArrays.max( array ) + "n";
message += "min: " + Integer2dArrays.min( array ) + "n";
message += "sum: " + Integer2dArrays.sum( array ) + "n";
message += "average: " + String.format( "%1.2f", Integer2dArrays.average( array ) ) + "n";
JOptionPane.showMessageDialog( null, message );
}

public static void main(String args) {
Exercise4b e4b = new Exercise4b();
int test1 = {{1,2,3,4},{-5,-6,-7,-18},{10,9,8,7}};
int test2 = {{1,2,3,4,5,6},{-7,-8,-9},{2,5,8,11,8},{6,4}};
e4b.testArray(test1);
e4b.testArray(test2);
}
}


The end result should look like this:
The end result should look like this










share|improve this question

















This question already has an answer here:




  • How to print two dimensional array of strings as String

    5 answers




I am trying to print out a 2 dimentional array in a messagedialog using JOptionPane. I am supposed to create a method that converts the array to a string using a for-loop. I have tried a lot, but it doesn't seem to get the logic working as i want it to. This is what i have so far.



public static String toString(int array) {
String res = "{";
for (int i = 0; i < array.length; i++) {
for (int j = 0; j <array[i].length; j++) {
res += array[i][j];
if(j < array.length-1) {
res += ",";
}
if (i < array.length-1) {
res += "}";
}

}

}res += "}";
return res;
}


Main class:



import javax.swing.JOptionPane;

import arrays.Integer2dArrays;

public class Exercise4b {
public void testArray(int array) {
String message = "";
message += "toString: " + Integer2dArrays.toString( array ) + "n";
message += "elements: " + Integer2dArrays.elements( array ) + "n";
message += "max: " + Integer2dArrays.max( array ) + "n";
message += "min: " + Integer2dArrays.min( array ) + "n";
message += "sum: " + Integer2dArrays.sum( array ) + "n";
message += "average: " + String.format( "%1.2f", Integer2dArrays.average( array ) ) + "n";
JOptionPane.showMessageDialog( null, message );
}

public static void main(String args) {
Exercise4b e4b = new Exercise4b();
int test1 = {{1,2,3,4},{-5,-6,-7,-18},{10,9,8,7}};
int test2 = {{1,2,3,4,5,6},{-7,-8,-9},{2,5,8,11,8},{6,4}};
e4b.testArray(test1);
e4b.testArray(test2);
}
}


The end result should look like this:
The end result should look like this





This question already has an answer here:




  • How to print two dimensional array of strings as String

    5 answers








java arrays methods tostring






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 16 '18 at 15:49









luk2302

34.6k1773101




34.6k1773101










asked Nov 16 '18 at 15:48









Jacki222Jacki222

32




32




marked as duplicate by luk2302, MC Emperor, Mark Rotteveel java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 17 '18 at 9:41


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









marked as duplicate by luk2302, MC Emperor, Mark Rotteveel java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 17 '18 at 9:41


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.















  • And what does the end result currently look like?

    – achAmháin
    Nov 16 '18 at 15:50











  • Your code prints opening bracket only at the very beginning. start by figuring out when to add the opening bracket at the middle

    – Sharon Ben Asher
    Nov 16 '18 at 15:56



















  • And what does the end result currently look like?

    – achAmháin
    Nov 16 '18 at 15:50











  • Your code prints opening bracket only at the very beginning. start by figuring out when to add the opening bracket at the middle

    – Sharon Ben Asher
    Nov 16 '18 at 15:56

















And what does the end result currently look like?

– achAmháin
Nov 16 '18 at 15:50





And what does the end result currently look like?

– achAmháin
Nov 16 '18 at 15:50













Your code prints opening bracket only at the very beginning. start by figuring out when to add the opening bracket at the middle

– Sharon Ben Asher
Nov 16 '18 at 15:56





Your code prints opening bracket only at the very beginning. start by figuring out when to add the opening bracket at the middle

– Sharon Ben Asher
Nov 16 '18 at 15:56












2 Answers
2






active

oldest

votes


















0














The common logic you are missing is the



    if (i > 0)
res += ",";


So to get it correctly your method toString should be like this:



  public static String toString(int array) {
String res = "{";
for (int i = 0; i < array.length; i++) {
if (i > 0)
res += ",";
res += "{";
for (int j = 0; j <array[i].length; j++) {
if (j> 0)
res += ",";
res += array[i][j];
}
res += "}";

}
res += "}";
return res;
}





share|improve this answer


























  • Thank you very much maikito! :)

    – Jacki222
    Nov 16 '18 at 16:08



















1














Maybe you can use deepToString to achieve your result ?



String result = Arrays.deepToString(test1)
.replace("[", "{")
.replace("]", "}")
.replace(" ", "");





share|improve this answer






























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    The common logic you are missing is the



        if (i > 0)
    res += ",";


    So to get it correctly your method toString should be like this:



      public static String toString(int array) {
    String res = "{";
    for (int i = 0; i < array.length; i++) {
    if (i > 0)
    res += ",";
    res += "{";
    for (int j = 0; j <array[i].length; j++) {
    if (j> 0)
    res += ",";
    res += array[i][j];
    }
    res += "}";

    }
    res += "}";
    return res;
    }





    share|improve this answer


























    • Thank you very much maikito! :)

      – Jacki222
      Nov 16 '18 at 16:08
















    0














    The common logic you are missing is the



        if (i > 0)
    res += ",";


    So to get it correctly your method toString should be like this:



      public static String toString(int array) {
    String res = "{";
    for (int i = 0; i < array.length; i++) {
    if (i > 0)
    res += ",";
    res += "{";
    for (int j = 0; j <array[i].length; j++) {
    if (j> 0)
    res += ",";
    res += array[i][j];
    }
    res += "}";

    }
    res += "}";
    return res;
    }





    share|improve this answer


























    • Thank you very much maikito! :)

      – Jacki222
      Nov 16 '18 at 16:08














    0












    0








    0







    The common logic you are missing is the



        if (i > 0)
    res += ",";


    So to get it correctly your method toString should be like this:



      public static String toString(int array) {
    String res = "{";
    for (int i = 0; i < array.length; i++) {
    if (i > 0)
    res += ",";
    res += "{";
    for (int j = 0; j <array[i].length; j++) {
    if (j> 0)
    res += ",";
    res += array[i][j];
    }
    res += "}";

    }
    res += "}";
    return res;
    }





    share|improve this answer















    The common logic you are missing is the



        if (i > 0)
    res += ",";


    So to get it correctly your method toString should be like this:



      public static String toString(int array) {
    String res = "{";
    for (int i = 0; i < array.length; i++) {
    if (i > 0)
    res += ",";
    res += "{";
    for (int j = 0; j <array[i].length; j++) {
    if (j> 0)
    res += ",";
    res += array[i][j];
    }
    res += "}";

    }
    res += "}";
    return res;
    }






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 16 '18 at 16:10

























    answered Nov 16 '18 at 16:04









    maikitomaikito

    162




    162













    • Thank you very much maikito! :)

      – Jacki222
      Nov 16 '18 at 16:08



















    • Thank you very much maikito! :)

      – Jacki222
      Nov 16 '18 at 16:08

















    Thank you very much maikito! :)

    – Jacki222
    Nov 16 '18 at 16:08





    Thank you very much maikito! :)

    – Jacki222
    Nov 16 '18 at 16:08













    1














    Maybe you can use deepToString to achieve your result ?



    String result = Arrays.deepToString(test1)
    .replace("[", "{")
    .replace("]", "}")
    .replace(" ", "");





    share|improve this answer




























      1














      Maybe you can use deepToString to achieve your result ?



      String result = Arrays.deepToString(test1)
      .replace("[", "{")
      .replace("]", "}")
      .replace(" ", "");





      share|improve this answer


























        1












        1








        1







        Maybe you can use deepToString to achieve your result ?



        String result = Arrays.deepToString(test1)
        .replace("[", "{")
        .replace("]", "}")
        .replace(" ", "");





        share|improve this answer













        Maybe you can use deepToString to achieve your result ?



        String result = Arrays.deepToString(test1)
        .replace("[", "{")
        .replace("]", "}")
        .replace(" ", "");






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 16 '18 at 15:53









        Schidu LucaSchidu Luca

        3,040522




        3,040522















            Popular posts from this blog

            List item for chat from Array inside array React Native

            App crashed after uploaded to heroku server

            Xamarin.iOS Cant Deploy on Iphone