暮染烟岚526 2021-11-30 14:45 采纳率: 100%
浏览 41
已结题

JAVA中的回形针问题,其中最后一行代码不知道具体意义,求解答!

  1. ```public static void main(String[] args) {
  2. int n = 7;
  3. int[][] arr = new int[n][n];
  4. int count = 0;
  5. int maxX = n - 1;
  6. int maxY = n - 1;
  7. int minX = 0;
  8. int minY = 0;
  9. while (minX <= maxX) {
  10. for (int x = minX; x <= maxX; x++) {
  11. arr[minY][x] = ++count;
  12. }
  13. minY++;
  14. for (int y = minY; y <= maxY; y++) {
  15. arr[y][maxX] = ++count;
  16. }
  17. maxX--;
  18. for (int x = maxX; x >= minX; x--) {
  19. arr[maxY][x] = ++count;
  20. }
  21. maxY--;
  22. for (int y = maxY; y >= minY; y--) {
  23. arr[y][minX] = ++count;
  24. }
  25. minX++;
  26. }
  27. for (int i = 0; i < arr.length; i++) {
  28. for (int j = 0; j < arr.length; j++) {
  29. String space = (arr[i][j] + "").length() == 1 ? "0" : ""; //这个位置的代码看不明白具体原因是什么。。。。
  30. System.out.print(space + arr[i][j] + " ");
  31. }
  32. System.out.println();
  33. }
  34. }
  35. }

展开全部

  • 写回答

1条回答 默认 最新

  • 关注
    1. String space = (arr[i][j] + "").length() == 1 ? "0" : "";
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    暮染烟岚526 2021-11-30 14:47

    能解答一下,为什么要写这行代码吗?如果不加的话也可以运行,而且结果也没有影响

    回复
    CSDN专家-赖老师(软件之家) 回复 CSDN专家-赖老师(软件之家) 2021-11-30 14:50

    就是返回0字符,或者返回空字符。

    回复
    CSDN专家-赖老师(软件之家) 回复 暮染烟岚526 2021-11-30 14:51

    这是3目运算符,因为arr[i][j]是整形+双引号的意思是把整形转换为字符串,,再判断字符串的长度是不是1(a[i][j]<10),如果长度等于1,返回0,否则返回空字符串

    回复
    展开全部5条评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月30日
  • 创建了问题 11月30日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部