java - 从方法返回一个字符串,而不是打印到 System.out
问题描述
我编写了以下代码,该代码打印了多个由星号组成的 E 形状。我想知道如何String
从方法返回 a 而不是打印到System.out
. 当我使用 String append 尝试它时,它只返回一行星号,而不是我想要的 E 形状。
返回可以是字符串方法或 JSON 格式。任何帮助都会很棒!
for (int i=0; i < 5; i++) {
String print = i % 2 == 0 ? "***** " : "* ";
for(int j=0; j < numberOfE; j++) {
System.out.print(print);
}
System.out.println();
}
解决方案
您可以替换System.out.print()
为附加字符串,但也请记住替换System.out.println()
为附加换行符到您的字符串。
String ans = "";
for (int i = 0; i < 5; i++) {
String print = i % 2 == 0 ? "***** " : "* ";
for (int j = 0; j < numberOfE; j++) {
ans += print;
}
ans += '\n';
}
return ans;
StringBuilder
使用 a而不是附加到 a也更有效String
,尽管对于您的场景,差异可能并不明显:
StringBuilder ans = new StringBuilder();
for (int i = 0; i < 5; i++) {
String print = i % 2 == 0 ? "***** " : "* ";
for (int j = 0; j < numberOfE; j++) {
ans.append(print);
}
ans.append('\n');
}
return ans.toString();
推荐阅读
- php - 如何处理 webonyx/graphql-php 中的自定义错误?
- azure - 使用邮递员对 Azure 存储模拟器进行授权?
- asp.net - 配置 Visual Studio 或 Chrome 以在同一个新浏览器窗口中启动多个 Asp.Net 项目
- docker - Docker 使用 ansible 'Docker login' 和 _json_key 登录到 GCE
- javascript - 使用 Keycloak 和 React 路由器在单个 Web 应用程序上同时拥有公共和私有路由的最佳方法是什么?
- php - 没有重定向的wordpress动态网址
- vba - 为什么 VBA 引用 FM20.dll 仅通过 Windows 应用程序出现而不通过 Windows 资源管理器出现?
- python-3.x - Tensorflow 数据集:访问行值以预处理文本数据
- postfix-mta - 不要在 Postfix 的邮件传递失败通知上打印堆栈跟踪
- pyqt - 如何使 PyQT 拖动事件复制文件而不是移动它?