每当您将整数值读入字符串时,您可以使用StringBuffer 类、使用正则表达式或通过将给定的字符串转换为字符数组来删除它的前导零。
下面的 Java 程序从用户那里读取一个整数值到一个字符串中,并通过将给定的字符串转换为字符数组来从中删除前导零。
import java.util.Scanner; public class LeadingZeroes { public static String removeLeadingZeroes(String num){ int i=0; char charArray[] = num.toCharArray(); for( ; i<= charArray.length; i++){ if(charArray[i] != '0'){ break; } } return (i == 0) ? num :num.substring(i); } public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("输入一个整数: "); String num = sc.next(); String result = LeadingZeroes.removeLeadingZeroes(num); System.out.println(result); } }输出结果
Enter an integer value as a String 00126718 126718
以下 Java 程序将用户的整数值读入 String 并使用 StringBuffer 类从中删除前导零。
import java.util.Scanner; public class LeadingZeroesSB { public static String removeLeadingZeroes(String num){ int i=0; StringBuffer buffer = new StringBuffer(num); while(i<num.length() && num.charAt(i)=='0') i++; buffer.replace(0, i, ""); return buffer.toString(); } public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("输入一个整数: "); String num = sc.next(); String result = LeadingZeroesSB.removeLeadingZeroes(num); System.out.println(result); } }输出结果
输入一个整数: 00012320002 12320002
下面的 Java 程序从用户读取一个整数值到一个字符串中,并使用正则表达式从中删除前导零。
import java.util.Scanner; public class LeadingZeroesRE { public static String removeLeadingZeroes(String str){ String strPattern = "^0+(?!$)"; str = str.replaceAll(strPattern, ""); return str; } public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("输入一个整数: "); String num = sc.next(); String result = TailingZeroesRE.removeLeadingZeroes(num); System.out.println(result); } }输出结果
输入一个整数: 000012336000 12336000
将以下依赖项添加到您的pom.xml文件中
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency>
下面的 Java 程序从用户那里读取一个整数值到一个字符串中,并使用stripStart()StringUtils 类的方法从中删除前导零。
import java.util.Scanner; import org.apache.commons.lang3.StringUtils; public class LeadingZeroesCommons { public static String removeLeadingZeroes(String str){ str = StringUtils.stripStart(str, "0"); return str; } public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("输入一个整数: "); String num = sc.next(); String result = LeadingZeroesCommons.removeLeadingZeroes(num); System.out.println(result); } }输出结果
输入一个整数: 000125004587 125004587