英文:
How to remove a specific character (",") in java?
问题
// 创建一个类和方法
class Main {
public static void main(String[] args) {
// 清屏
System.out.print("\033[H\033[2J");
System.out.flush();
// 初始化一个具有12个限制的整数数组
int[] numbers = new int[12];
// 创建一个语句
System.out.println("随机生成的数组:");
System.out.print("{");
// 开始一个循环以打印随机数字
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int) (Math.random() * 101); // 使其打印0到100(包含)范围内的随机数
// 打印出12个随机数
System.out.print(numbers[x]);
if (x < numbers.length - 1) {
System.out.print(", ");
}
}
System.out.print("}");
// 创建空行
System.out.println();
System.out.println();
// 创建一个语句
System.out.println("每个阶段的排序:");
// 开始循环数字直到12
for (int i = 0; i < numbers.length; i++) {
// 开始循环数字并将其与“i”值进行比较
for (int j = i; j < numbers.length; j++) {
if (numbers[j] < numbers[i]) {
// 使用变量“temp”交换数字的位置
int temp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = temp;
}
// 创建空行
System.out.println();
// 使用循环打印排序每个阶段的数字
System.out.print("{");
for (int k = 0; k < numbers.length; k++) {
System.out.print(numbers[k]);
if (k < numbers.length - 1) {
System.out.print(", ");
}
}
System.out.print("}");
System.out.println();
}
}
// 创建空行
System.out.println();
System.out.println("\n冒泡排序后的数组:");
System.out.print("{");
// 使用循环按升序打印最终排序的数字
for (int a = 0; a < numbers.length; a++) {
System.out.print(numbers[a]);
if (a < numbers.length - 1) {
System.out.print(", ");
}
}
System.out.print("}");
// 创建空行
System.out.println();
System.out.println();
}
}
英文:
I basically want to remove the last comma "," from my array of 12 integers. My output goes like {23, 45, 54, 56, 67, 87, 89, 90, 76, 89, 87, 23, }
whereas I want to remove the last comma and space it creates after the comma.
Sample output:
{23, 45, 54, 56, 67, 87, 89, 90, 76, 89, 87, 23}
My task is to basically sort the integers using bubble sorting method in ascending order. And my output basically shows the sorting at each stage and a final sorted array. I want to remove the last comma and the space it creates from the sorting at each stage, final sorted array, and random generated array. I basically provided comments in my code which will help you find each thing.
Please do not make this overly complicated
Code:
// Create a class and method
class Main {
public static void main(String[] args) {
// Clear screen
System.out.print("\033[H\033[2J");
System.out.flush();
// Initialize a int array with the limit of 12
int[] numbers = new int[12];
// Create a statement
System.out.println("Random Generated Array:");
System.out.print("{");
// Start a for loop to print random numbers
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int) (Math.random() * 101); // So that it prints random numbers from 0 to 100 (inclusive)
// Print out the 12 random numbers
System.out.print(numbers[x] + ", ");
}
System.out.print("}");
// Create space
System.out.println();
System.out.println();
// Create a statement
System.out.println("Sorting At Each Stage:");
// Start looping numbers until 12
for (int i = 0; i < numbers.length; i++) {
// Start looping numbers and comparing it to the "i" values
for (int j = i; j < numbers.length; j++) {
if (numbers[j] < numbers[i]) {
// Swap the positions of the numbers with the variable "temp"
int temp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = temp;
}
// Create space
System.out.println();
// Use a for loop to print numbers at each stage of sorting
System.out.print("{");
for (int k = 0; k < numbers.length; k++) {
System.out.print(numbers[k] + ", ");
}
System.out.print("}");
System.out.println();
}
}
// Create space
System.out.println();
System.out.println("\nBubble Sorted Array:");
System.out.print("{");
// Use a for loop to print the final sorted numbers in ascending order
for (int a = 0; a < numbers.length; a++) {
System.out.print(numbers[a] + ", ");
}
System.out.print("}");
// Create space
System.out.println();
System.out.println();
}
}
答案1
得分: 2
你可以在你的for
循环中使用一个if
条件,以便在最后一个数字不添加逗号:
// 开始一个for循环来打印随机数
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int) (Math.random() * 101); // 以便打印从0到100(含)的随机数
if (x + 1 == numbers.length)
// 由于是最后一个数字,所以不添加逗号,直接输出随机数
System.out.print(numbers[x]);
else
// 打印这12个随机数
System.out.print(numbers[x] + ", ");
}
英文:
You could just use an if
condition in your for
loop to not place a comma on the last number:
// Start a for loop to print random numbers
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int) (Math.random() * 101); // So that it prints random numbers from 0 to 100 (inclusive)
if(x + 1 == numbers.length)
//Print out random number with no comma as it's the last
System.out.print(numbers[x]);
else
// Print out the 12 random numbers
System.out.print(numbers[x] + ", ");
}
答案2
得分: 2
如果您想查看一种将数组连接成字符串的替代方法,您可以考虑使用Java 8流中提供的功能。
这将对数组进行流处理,使用String::valueOf将每个元素映射为字符串,然后使用分隔符", "将它们收集在一起。我只是在两端添加了大括号,以使其与您的操作相匹配。
```java
import java.util.Arrays;
import java.util.stream.Collectors;
public class so64395137 {
public static void main(String[] args) {
int[] numbers = { 23, 45, 54, 56, 67, 87, 89, 90, 76, 89, 87, 23 };
String strNumbers = "{" + Arrays.stream(numbers)
.mapToObj(String::valueOf).collect(Collectors.joining(", "))
+ "}";
System.out.println(strNumbers);
}
}
输出:
{23, 45, 54, 56, 67, 87, 89, 90, 76, 89, 87, 23}
英文:
If you'd like to see an alternate way to join an array into a string you could consider the functionality that came with Java 8 streams.
This streams the array, mapping each element to a string using String::valueOf and then collecting them together with a delimiter of ", ". I simply add a brace to either end to make it match what you were doing.
import java.util.Arrays;
import java.util.stream.Collectors;
public class so64395137 {
public static void main(String[] args) {
int[] numbers = { 23, 45, 54, 56, 67, 87, 89, 90, 76, 89, 87, 23 };
String strNumbers = "{" + Arrays.stream(numbers)
.mapToObj(String::valueOf).collect(Collectors.joining(", "))
+ "}";
System.out.println(strNumbers);
}
}
Prints:
{23, 45, 54, 56, 67, 87, 89, 90, 76, 89, 87, 23}
答案3
得分: 1
我在你的循环中添加了一个 if
语句,如果是最后一次迭代,就不要添加额外的位。
// 创建一个类和方法
class Main {
public static void main(String[] args) {
// 清屏
System.out.print("\033[H\033[2J");
System.out.flush();
// 初始化一个具有12个限制的整数数组
int[] numbers = new int[12];
// 创建一个语句
System.out.println("随机生成的数组:");
System.out.print("{");
// 开始一个for循环以打印随机数字
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int)(Math.random() * 101); // 以便打印从0到100(包含)的随机数字
if (x == numbers.length - 1) {
// 打印出这12个随机数字
System.out.print(numbers[x]);
} else {
System.out.print(numbers[x] + ", ");
}
}
System.out.print("}");
// 创建空间
System.out.println();
System.out.println();
// 创建一个语句
System.out.println("每个阶段的排序:");
// 开始循环数字,直到12
for (int i = 0; i < numbers.length; i++) {
// 开始循环数字并将其与“i”值进行比较
for (int j = i; j < numbers.length; j++) {
if (numbers[j] < numbers[i]) {
// 用变量“temp”交换数字的位置
int temp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = temp;
}
// 创建空间
System.out.println();
// 使用for循环打印排序每个阶段的数字
System.out.print("{");
for (int k = 0; k < numbers.length; k++) {
System.out.print(numbers[k] + ", ");
}
System.out.print("}");
System.out.println();
}
}
// 创建空间
System.out.println();
System.out.println("\n冒泡排序后的数组:");
System.out.print("{");
// 使用for循环以升序打印最终排序的数字
for (int a = 0; a < numbers.length; a++) {
System.out.print(numbers[a] + ", ");
}
System.out.print("}");
// 创建空间
System.out.println();
System.out.println();
}
}
英文:
I've added an if
in your loop whereby if it is the last iteration, don't add the extra bits.
// Create a class and method
class Main {
public static void main(String[] args) {
// Clear screen
System.out.print("\033[H\033[2J");
System.out.flush();
// Initialize a int array with the limit of 12
int[] numbers = new int[12];
// Create a statement
System.out.println("Random Generated Array:");
System.out.print("{");
// Start a for loop to print random numbers
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int)(Math.random() * 101); // So that it prints random numbers from 0 to 100 (inclusive)
if (x == numbers.length) {
// Print out the 12 random numbers
System.out.print(numbers[x]);
} else {
System.out.print(numbers[x] + ", ")
}
System.out.print("}");
// Create space
System.out.println();
System.out.println();
// Create a statement
System.out.println("Sorting At Each Stage:");
// Start looping numbers until 12
for (int i = 0; i < numbers.length; i++) {
// Start looping numbers and comparing it to the "i" values
for (int j = i; j < numbers.length; j++) {
if (numbers[j] < numbers[i]) {
// Swap the positions of the numbers with the variable "temp"
int temp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = temp;
}
// Create space
System.out.println();
// Use a for loop to print numbers at each stage of sorting
System.out.print("{");
for (int k = 0; k < numbers.length; k++) {
System.out.print(numbers[k] + ", ");
}
System.out.print("}");
System.out.println();
}
}
// Create space
System.out.println();
System.out.println("\nBubble Sorted Array:");
System.out.print("{");
// Use a for loop to print the final sorted numbers in ascending order
for (int a = 0; a < numbers.length; a++) {
System.out.print(numbers[a] + ", ");
}
System.out.print("}");
// Create space
System.out.println();
System.out.println();
}
}
System.out.println();
System.out.println();
}
}
答案4
得分: 0
如果您想要一种简单的方法来实现这个,只需创建一个数组来保存数字的字符串值。然后使用 String.join()
方法来为您完成操作。
int[] numbers = new int[12];
String[] strings = new String[numbers.length];
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int) (Math.random() * 101); // 以便打印从 0 到 100(包括)的随机数字
strings[x] = Integer.toString(numbers[x]);
}
System.out.printf("{%s}%n",
String.join(", ", strings));
输出类似于
{3, 11, 24, 83, 36, 58, 22, 27, 43, 12, 30, 79}
英文:
If you want an easy way to do it, just create an array to hold a String value of the number. Then use the String.join()
method to do the work for you.
int[] numbers = new int[12];
String[] strings = new String[numbers.length];
for (int x = 0; x < numbers.length; x++) {
numbers[x] = (int) (Math.random() * 101); // So that it prints random numbers from 0 to 100 (inclusive)
strings[x] = Integer.toString(numbers[x]);
}
System.out.printf("{%s}%n",
String.join(", ", strings));
Prints something like
{3, 11, 24, 83, 36, 58, 22, 27, 43, 12, 30, 79}
</details>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论