java - 具有 3 个条件的字符串格式 : is it possible?

标签 java string format output conditional-operator

我想格式化我的输出文本,使其与我的计数器值相对应。例如,我有3个计数器,希望在1、2和大于2时输出不同的单词。

我尝试使用字符串格式,但它只适用于 2 个不同的计数器。

这是我的代码:

package vaja13;
import java.util.Scanner;
public class Vaja13
{
    public static void main(String[] args)
    {
        System.out.print("Vnesi besedilo: ");
        Scanner sc = new Scanner(System.in);
        String besedilo = sc.nextLine();
        char [] tabela  = besedilo.toCharArray();
        int crke = 0,stevilke = 0,presledki  = 0;
        int i=0;
        while(i<tabela.length-1)
        {
           if (Character.isLetter(tabela[i]))
           {
            crke++;
            i++;
           }
            if (Character.isDigit(tabela[i]))
            {
                stevilke++;
                i++;
            }
            if (Character.isWhitespace(tabela[i]))
            {
                presledki++;
                i++;
            }
        }  
       System.out.println(String.format("V besedilu je %d %s ", crke,crke==2,crke >2 ? "crka":"crki":"crke"));
        }
    }

最佳答案

在最后一个 System.out.println 行中,3 个条件部分

crke==2,crke >2 ? "crka":"crki":"crke"

是无效的 Java 语法,您可以使用:

crke==2 ? "crka": crke > 2 ? "crki" :"crke"

不过,这有点难以阅读。请注意? : 运算符从右到左关联。

关于java - 具有 3 个条件的字符串格式 : is it possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401160/

相关文章:

java - 有没有办法将实体加载到派生类的实例中?

java - Spring ,Oauth2 : authentication details lost after refreshing the token

java - 使用 ExtJS 进行页面重定向/刷新

swift - 带有字符串插值的属性字符串不起作用(swift)

python - 检查字符串列表 A 中的任何项目是否是字符串列表 B 中的项目的子字符串

java - Java 中的位移位

PHP 货币正则表达式

java - 如何将 "2019-04-11T05:00:54.000+01:00"转换为 dd/MM/yyyy hh :mm format

c# - double.Parse(123.342) System.FormatException : 'Input string was not in a correct format.'

php - 如何查看从 Objective C cocoa 发送到 php 的 GET 请求的响应