Java 将while循环与if语句相结合 公共静态字符串转换(字符串str) { if(str.equals(“#”) System.out.println(“”); Pattern=Pattern.compile(“(#+[^#]+)”; Matcher-Matcher=pattern.Matcher(str); while(matcher.find()) { 字符串str1=matcher.group(1); 如果(str1.replaceFirst(“#+”,“”)的.length()==0 | | str1.replaceFirst(“#+”,“”)的.matches(“[\\s]+”) 继续; int n=str1.length()-str1.replaceFirst(“#+”,“”)。length(); System.out.println(“+str1.substring(n)+”); } 焦糖; carac=str.charAt(0); 如果(carac>=65&&carac=,那么我可以得到这个输出:
Java 将while循环与if语句相结合 公共静态字符串转换(字符串str) { if(str.equals(“#”) System.out.println(“”); Pattern=Pattern.compile(“(#+[^#]+)”; Matcher-Matcher=pattern.Matcher(str); while(matcher.find()) { 字符串str1=matcher.group(1); 如果(str1.replaceFirst(“#+”,“”)的.length()==0 | | str1.replaceFirst(“#+”,“”)的.matches(“[\\s]+”) 继续; int n=str1.length()-str1.replaceFirst(“#+”,“”)。length(); System.out.println(“+str1.substring(n)+”); } 焦糖; carac=str.charAt(0); 如果(carac>=65&&carac=,那么我可以得到这个输出:,java,if-statement,while-loop,Java,If Statement,While Loop,分贝对于这个输入:##分贝??(而不是这个,我得到的是分贝。我正在做一个算法,其中“#”在句子的开头被识别,并根据出现的#的数量变成或。之后,算法识别句子开头是否有大写字母;如果有,则在段落的开头和结尾添加。 我面临的最大问题是,我希望能够将两者结合起来。因此,假设我有附录,我希望将其转换为附录 谢谢公共静态字符串转换(String str) public static String convert(String str) { if (str.equals("# ")) Syste
分贝
对于这个输入:##分贝??(而不是这个,我得到的是分贝
。我正在做一个算法,其中“#”在句子的开头被识别,并根据出现的#的数量变成或我面临的最大问题是,我希望能够将两者结合起来。因此,假设我有附录,我希望将其转换为附录 谢谢
公共静态字符串转换(String str)
public static String convert(String str)
{
if (str.equals("# "))
System.out.println(" ");
Pattern pattern = Pattern.compile("(#+[^#]+)");
Matcher matcher = pattern.matcher(str);
while (matcher.find())
{
String str1 = matcher.group(1);
if (str1.replaceFirst("#+", "").length() == 0 || str1.replaceFirst("#+", "").matches("[\\s]+"))
continue;
int n = str1.length() - str1.replaceFirst("#+", "").length();
System.out.println("<h" + n + ">" + str1.substring(n) + "</h" + n + ">");
}
char carac;
carac = str.charAt(0);
if (carac >= 65 && carac <= 90)
{
System.out.println("<p>");
System.out.println(str);
System.out.println("</p>");
}
return ("");
}
{
if(str.equals(“#”)
System.out.println(“”);
Pattern=Pattern.compile(“(#+[^#]+)”;
Matcher-Matcher=pattern.Matcher(str);
while(matcher.find())
{
布尔附加p=false;
焦糖;
对于(int i=0;i”);append\u p=false;}
}
if(Character.isUpperCase(str.charAt(0)){
System.out.println(“”+str+“”);
返回(“”);
}
这将测试第一个字符是否为大写字母,并附加/prepend
很难理解此代码试图实现的目标,这使得回答问题更加困难。您已经为我们提供了一个您试图实现的目标的示例(鉴于“分贝”
不是以a和Z之间的字符开始的,但不是一般的目标。我正在做一个算法,其中”#"在句子的开头被识别,并根据出现的#的数量变成或convert()
源代码对于您当前解决附录的困境
@Arn0ld\t在那里,我已经将if()
语句集成到了您的while循环中。这太好了……但是部分只适用于一个#……如果没有或有多个#它就不起作用了#
public static String convert(String str)
{
if (str.equals("# "))
System.out.println(" ");
Pattern pattern = Pattern.compile("(#+[^#]+)");
Matcher matcher = pattern.matcher(str);
while (matcher.find())
{
boolean append_p = false;
char carac;
for(int i = 0; i < str.length(); i++){
if(Character.isLetter(str.charAt((i)))){
if (Character.isUpperCase(str.charAt(i)))
{
System.out.print("<p>");
append_p = true;
break;
}
}else{
append_p = false;
}
}
String str1 = matcher.group(1);
if (str1.replaceFirst("#+", "").length() == 0 || str1.replaceFirst("#+", "").matches("[\\s]+"))
continue;
int n = str1.length() - str1.replaceFirst("#+", "").length();
System.out.print("<h" + n + ">" + str1.substring(n) + "</h" + n + ">");
if(append_p == true){ System.out.print("</p>"); append_p = false;}
}
if(Character.isUpperCase(str.charAt(0)){
System.out.println("<p>"+str+"</p>");
return ("");
}