java 流程控制输入树状字母序列

/* 
   字母和ASCII十进制数字对应
   A~Z    65~90
   a~z    97~122
   实现思路:1)使用一个外层循环实现行数count打印
       2)用两个内循环分别实现每行首字符的空格和每行字符间的空格
       3)在外层循环体中实现字符的自加,控制每行的字符输出
 */
public class ThrTest {
 public static void main(String[] args) {
  int count = 7;  //定义行数
  char uppercase = 'A'; //初始字符变量为 A
  for (int i = 1; i <= count; i++) { //控制行
   for (int j = 1; j <= 2 * (count-i); j++) { //输出每行首字符前的空格
    System.out.print(" ");    
   }   
   for (int k = 1; k <= 2*i-1; k++) { //输出每行的字符
    System.out.print(uppercase);
    System.out.print(" "); //每输出一个字符后,加一个空格
   }
   uppercase++;  //字符自加1
   System.out.println(); //换行
  }
 }
}

附上实现效果:
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个 Java 递归反序列形 JSON 数据的示例代码: ```java import java.io.IOException; import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonTreeDeserializer { private static ObjectMapper mapper = new ObjectMapper(); public static void main(String[] args) { String json = "{\"id\":1,\"name\":\"root\",\"children\":[{\"id\":2,\"name\":\"child1\",\"children\":[{\"id\":3,\"name\":\"grandchild1\"},{\"id\":4,\"name\":\"grandchild2\"}]},{\"id\":5,\"name\":\"child2\",\"children\":[{\"id\":6,\"name\":\"grandchild3\"},{\"id\":7,\"name\":\"grandchild4\"}]}]}"; try { JsonNode rootNode = mapper.readTree(json); Node tree = deserialize(rootNode); System.out.println(tree); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static Node deserialize(JsonNode node) { int id = node.get("id").asInt(); String name = node.get("name").asText(); Node tree = new Node(id, name); JsonNode childrenNode = node.get("children"); if (childrenNode != null && childrenNode.isArray()) { for (JsonNode childNode : childrenNode) { Node child = deserialize(childNode); tree.addChild(child); } } return tree; } } class Node { private int id; private String name; private List<Node> children; public Node(int id, String name) { this.id = id; this.name = name; this.children = new ArrayList<Node>(); } public void addChild(Node node) { this.children.add(node); } @Override public String toString() { return "Node [id=" + id + ", name=" + name + ", children=" + children + "]"; } } ``` 这个示例代码使用了 Jackson 库来进行 JSON 反序列化。首先读取 JSON 数据,然后递归地反序列化每个节点,并构建形结构。最后输出形结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值