java 三角形排列_java编写一个很简单程序,三角形的排列字符串

使用Java编程,通过递归方式实现等边三角形的字符串排列。给定一个字符串s,例如"abcdef",程序将输出af、abef、abcdef,形成一个等边三角形。代码中定义了trianglePrint方法,它调用trianglePrintRecursive进行递归处理。当字符串长度为偶数时,打印空格并递归;若为奇数,则在字符串末尾添加空格后再处理。此外,还包含spacesPrint方法用于打印空格。
摘要由CSDN通过智能技术生成

Strings=”abcdef“;写一个方法trianglePrint(s){}这个方法的输出是afabefabcdef是个等边三角形,要求用递归的思想来做,不能有任何for循环谢谢啦publicclassA4Q1umtan42{publicstat...

String s = ”abcdef“;

写一个方法 trianglePrint(s){ }

这个方法的输出是

af

abef

abcdef

是个等边三角形,要求用 递归的思想来做,不能有任何 for 循环 谢谢啦

public class A4Q1umtan42{

public static void main(String agrs[]){

String s1 = "a";

String s2 = "abc";

String s3 = "abcd";

String s4 = "disestablishmentarianism";

String s5 = "+-! *# =~ ~= #* !-+";

trianglePrint(s1);

trianglePrint(s2);

trianglePrint(s3);

trianglePrint(s4);

trianglePrint(s5);

}

public static void trianglePrint(String s){

trianglePrintRecursive(s, 0);

}

public static void trianglePrintRecursive(String s , int i){

//if the length of string is even

if(s.length() % 2 == 0){

if(i < s.length()/2){

spacesPrint(s , i);

System.out.println(s.substring(0, i+1) + s.substring(s.length()-(i+1) , s.length()));

trianglePrintRecursive(s , i + 1);

}

}

//if the length is odd

else{

String temp = s.concat(" ");

trianglePrint(temp);

}

}

public static void spacesPrint(String s , int i){

if(i+1 < s.length()/2 ){

System.out.print(" ");

spacesPrint(s , i + 1);

}

}

}

展开

好的,我可以为您解答关于Java编写三角形问题以及软件测试实验1的问题。 首先,三角形问题是一个经典的计算几何问题,它要求根据给定的三边长度判断这三边能否构成一个三角形,以及能够构成何种类型的三角形。在Java中,我们可以编写一个类来解决这个问题,例如: ```java public class Triangle { public static String getType(int a, int b, int c) { if (a <= 0 || b <= 0 || c <= 0) { return "不是三角形"; } if (a + b <= c || a + c <= b || b + c <= a) { return "不是三角形"; } if (a == b && b == c) { return "等边三角形"; } if (a == b || b == c || a == c) { return "等腰三角形"; } return "普通三角形"; } } ``` 在上面的代码中,我们用了一个静态方法getType来判断三角形的类型。它接受三个参数a、b、c分别表示三边的长度,并返回一个字符串表示三角形的类型。 接下来,我们可以使用JUnit框架对这个类进行测试。JUnit是一个用于Java编程语言中的单元测试框架,它可以让我们更方便地测试我们编写的代码是否符合预期。 例如,我们可以编写如下的测试代码: ```java import static org.junit.Assert.assertEquals; import org.junit.Test; public class TriangleTest { @Test public void testGetType() { assertEquals("等边三角形", Triangle.getType(3, 3, 3)); assertEquals("等腰三角形", Triangle.getType(3, 3, 4)); assertEquals("普通三角形", Triangle.getType(3, 4, 5)); assertEquals("不是三角形", Triangle.getType(-1, 2, 3)); assertEquals("不是三角形", Triangle.getType(1, 2, 3)); assertEquals("不是三角形", Triangle.getType(1, 1, 2)); } } ``` 在上面的代码中,我们使用了JUnit的@Test注解标记了一个测试方法testGetType,然后在这个方法中调用了Triangle类的getType方法,并使用assertEquals来断言其返回值是否和预期值相同。 最后,我们可以使用Eclipse等Java开发环境来运行这个测试方法,以便确认我们编写的代码是否符合预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值