java 编写删除空格方法
时间: 2023-06-03 17:03:39 浏览: 72
好的,我可以回答这个问题。在 Java 中,可以使用 String 类的 trim() 方法来删除字符串两端的空格,或者使用 replaceAll() 方法替换所有空格,代码如下所示:
删除两端空格:
String str = " hello world ";
String trimmed = str.trim(); // "hello world"
替换所有空格:
String str = " hello world ";
String replaced = str.replaceAll("\\s+", ""); // "helloworld"
其中,replaceAll("\\s+", "") 中的 "\\s+" 是一个正则表达式,表示匹配一个或多个空格字符。
相关问题
java编写一个方法,将两个数置换,要求方法的逻辑关系与被置换的两个数据对象的类型无关。 输入 两个数 提示:用next()方法输入泛型数据 输出 置换后的两个数 样例输入 Copy 111 222 样例输出 Copy 222 111 提示 输出的两个数之间有两个空格。
在Java中,你可以创建一个通用的方法来交换任意类型的两个变量,这通常是通过创建一个新的临时变量来实现的,因为Java并不支持直接赋值操作的“交换”语法。这个方法可以使用泛型来达到类型无关性。这里是一个例子:
```java
public class SwapUtils {
// 使用泛型的方法来交换两个对象的值
public static <T> void swap(T a, T b) {
if (a instanceof Integer || a instanceof Double) { // 检查是否为基本类型包装类,如果需要更广泛的类型支持,可以删除这行检查
T temp = a;
a = (T) ((Comparable<T>) b).compareTo(a) > 0 ? b : a; // 对数值进行比较并交换
b = temp;
} else if (a instanceof String) { // 如果是字符串,使用其自然顺序进行交换
char[] arrA = ((String)a).toCharArray();
char[] arrB = ((String)b).toCharArray();
for (int i = 0; i < Math.min(arrA.length, arrB.length); i++) {
char temp = arrA[i];
arrA[i] = arrB[i];
arrB[i] = temp;
}
a = new String(arrA);
b = new String(arrB);
} else {
throw new IllegalArgumentException("Unsupported data type for swapping.");
}
System.out.println(a + " " + b); // 打印结果,注意这里有空格
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the first number:");
Object num1 = scanner.next(); // 获取用户输入的数据
System.out.println("Enter the second number:");
Object num2 = scanner.next();
// 调用swap方法进行交换
swap(num1, num2);
}
}
```
样例运行:
```
Enter the first number:
111
Enter the second number:
222
222 111
```
java编写一个方法,该方法将包含形式为“number±number±...±number”的算术表达式的字符串作为参数, 如果“+”或“–”字符代替“±”操作标记(例如,“10+23–2-80”),此外,操作字符前后可以有任意数量的空格。 该方法应返回此表达式的值(整数)
以下是一个可能的实现:
```java
public static int evaluateExpression(String expression) {
// 去除所有空格
expression = expression.replaceAll("\\s", "");
// 切分成数字和操作符列表
String[] tokens = expression.split("(?=[+-])|(?<=[+-])");
int result = 0;
boolean addition = true; // 初始为加法
for (String token : tokens) {
if (token.equals("+")) {
addition = true; // 切换为加法
} else if (token.equals("-")) {
addition = false; // 切换为减法
} else {
int number = Integer.parseInt(token);
result = addition ? result + number : result - number; // 根据当前操作符计算值
}
}
return result;
}
```
这个方法首先使用正则表达式将所有空格去掉,然后使用正则表达式切分表达式成数字和操作符的列表。在循环中,根据当前操作符计算值并更新结果。最后返回结果。
注意,这个实现假设输入的表达式是合法的,即数字和操作符交替出现,并且以数字结尾。如果输入的表达式不合法,这个实现可能会抛出异常或者返回错误的结果。
阅读全文