java - Java中显示数组最后一个元素的条件

标签 java arrays

如何显示不带逗号的数组的最后一个元素? 例如,我想要执行以下 SQL 查询:

从学生中选择姓名、年份,其中 id = 9;

String[] columns = new String[] { name, year };
        String query;

        int length = columns.length;
        int max = 0;
        int i;

        if (length > 0) {

            query = "SELECT ";
            for (i = 0; i < length; i++) {
                query += columns[i] + ", ";
                max++;
                if(max <= length){
                    query += columns[i];
                }

            }
            query += " FROM " + table + " WHERE id = " + column.getId() + ";";

这将执行以下查询:“SELECT name,year,FROM Student WHERE id = 9”(getter 中有一个扫描仪。我在键盘上输入 ID,但如何摆脱最后一个元素中有逗号吗?

到目前为止,我已经尝试创建一个 IF 语句来执行此操作,但失败了。我的逻辑是有道理的,但我不知道如何用代码编写它。

我想说“如果 i 等于 columns[max i - 1],则显示数组的最后一个元素,不带逗号”。

最佳答案

试试这个:

for (i = 0; i < length; i++) {
    query += columns[i];
    if (i<length-1)
        query += ", ";
}

在添加逗号之前,它会检查这是否是列表的最后一个元素。

如果您使用 Java 8,您现在可以在一行中更清晰地完成此操作:

query += String.join(", ", columns);

如果您不使用 Java 8,并且经常这样做,则可以使用 Google Guava在一行中完成:

query += Joiner.on(", ").join(columns);

关于java - Java中显示数组最后一个元素的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484177/

相关文章:

java - App Engine SearchAPI : java. util.concurrent.CancellationException:任务已取消

java - 这是ButtonGroup的影响吗?

java - Ehcache与数据库不同步

c# - 如何从数组中删除特定元素?

java - Hbase 扫描与 Mapreduce 的动态计算

java - 使用 apache axis 从 wsdl 创建 Web 服务

java - 按每个字符串中逗号后的值按字母顺序对 ArrayList 进行排序

javascript - 解析 JSON 不起作用

javascript - 需要有关非重叠文本的帮助

java - 如何在一个 ui :repeat? 中迭代两个数组