Difference between revisions of "Concatenating arrays"

From CompSciWiki
Jump to: navigation, search
 
(Changed to utilize CodeBlock and OutputBlock templates)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{1010PrAD|ProblemName=Create a Grocery List
 
{{1010PrAD|ProblemName=Create a Grocery List
  
|Problem=Create a grocery list. Prompt the user for the number of items and the quantity. Then print the list of items.<br><br>
+
|Problem=Join an array of strings together to create a single string.
  
Example Output<br>
+
Example:<br>
<pre>
+
{{CodeBlock
</pre>
+
|Code=
 +
String[] strings = { "First ",
 +
                    "Second ",
 +
                    "Third" };
 +
}}
 +
Would have output:
 +
{{OutputBlock
 +
|Code=
 +
"First Second Third"
 +
}}
 
|SideSectionTitle=More with Arrays
 
|SideSectionTitle=More with Arrays
 
|SideSection=
 
|SideSection=
[[Image:Wiki_method01.jpg|float]]
+
[[Image:Wiki_method01.jpg|center]]<BR>
 
+
  
 
|Solution=
 
|Solution=
  
Something somethings
+
There are multiple ways of joining strings together. The simplest way is to use the plus symbol, which you are probably familiar with.
 +
{{CodeBlock
 +
|Code=
 +
for( int i = 0; i < strings.length; i++ )
 +
{
 +
tempString1 = tempString1 + strings[i];
 +
}
 +
System.out.println( "1. " + tempString1 );
 +
}}
  
  
|SolutionCode=<pre>
+
The String class also offers the method concat() to concatenate strings.
public class HelloWorld
+
{{CodeBlock
 +
|Code=
 +
for( int i = 0; i < strings.length; i++ )
 
{
 
{
 +
tempString2 = tempString2.concat( strings[i] );
 +
}
 +
System.out.println( "2. " + tempString2 );
 +
}}
 +
 +
 +
Java also offers the StringBuilder class which is best used when building up larger strings.
 +
{{CodeBlock
 +
|Code=
 +
for( int i = 0; i < strings.length; i++ )
 +
{
 +
sb.append( strings[i] );
 +
}
 +
tempString3 = sb.toString();
 +
System.out.println( "3. " + tempString3 );
 +
 +
}}
 +
 +
 +
 +
|SolutionCode=
 +
 +
public class stringTests
 +
{
 +
public static void main(String[] args)
 +
{
 +
String tempString1 = new String();
 +
String tempString2 = new String();
 +
String tempString3 = new String();
 +
 +
String[] strings = { "First ",
 +
                                    "Second ",
 +
                                    "Third" };
 +
 +
for( int i = 0; i < strings.length; i++ )
 +
{
 +
tempString1 = tempString1 + strings[i];
 +
}
 +
System.out.println( "1. " + tempString1 );
 +
 +
for( int i = 0; i < strings.length; i++ )
 +
{
 +
tempString2 = tempString2.concat( strings[i] );
 +
}
 +
System.out.println( "2. " + tempString2 );
 +
 +
StringBuilder sb = new StringBuilder();
 +
 +
for( int i = 0; i < strings.length; i++ )
 +
{
 +
sb.append( strings[i] );
 +
}
 +
tempString3 = sb.toString();
 +
System.out.println( "3. " + tempString3 );
 +
 +
}
 +
 
}
 
}
</pre>
 
  
 
}}
 
}}

Latest revision as of 16:31, 4 December 2011

Back to the Program-A-Day homepage

Problem

Join an array of strings together to create a single string.

Example:

 String[] strings = { "First ", 
                     "Second ", 
                     "Third" }; 

Would have output:

 "First Second Third" 
 

More with Arrays

Wiki method01.jpg

Solution

There are multiple ways of joining strings together. The simplest way is to use the plus symbol, which you are probably familiar with.

 for( int i = 0; i < strings.length; i++ )
{
	tempString1 = tempString1 + strings[i];
}
System.out.println( "1. " + tempString1 ); 


The String class also offers the method concat() to concatenate strings.

 for( int i = 0; i < strings.length; i++ )
{
	tempString2 = tempString2.concat( strings[i] );
}
System.out.println( "2. " + tempString2 ); 


Java also offers the StringBuilder class which is best used when building up larger strings.

 for( int i = 0; i < strings.length; i++ )
{
	sb.append( strings[i] );
}
tempString3 = sb.toString();
System.out.println( "3. " + tempString3 ); 

Code

Solution Code

Back to the Program-A-Day homepage