簡體   English   中英

縮短代碼到1行

[英]Shorten code to 1 line

好的,所以我遇到一個問題,要求在main方法的1行代碼中重寫此代碼:

public static void main(String[] args)
String s;
    boolean b;
    JOptionPane jop;

    jop = new JOptionPane();

    s = jop.showInputDialog("Enter your email address");
    b = s.matches(".*@.*\\..*");
    if (b)
    {
        System.out.println("Address Appears Valid");
    }
    else
    {
        System.out.println("Address is Invalid");
    }
}

這是我到目前為止所做的

public static void main( String[] args )
{

   String s = JOptionPane.showInputDialog("Enter your email address");

   System.out.println(s.matches(".*@.*\\..*") ? "Address Appears Valid" : "Address is Invalid" );
}

如何進一步縮短此代碼? 謝謝

做這個:

String s = JOptionPane.showInputDialog("Enter your email address");

   System.out.println(s.matches(".*@.*\\..*") ? "Address Appears Valid" : "Address is Invalid" );

變成這個:

System.out.println(JOptionPane.showInputDialog("Enter your email address").matches(".*@.*\\..*") ? "Address Appears Valid" : "Address is Invalid" );

畢竟,如果只打算在下一行中使用它,為什么還要存儲它呢?

不要在println中創建s,pur joption

public static void main( String[] args )
{
   System.out.println(JOptionPane.showInputDialog("Enter your email address").matches(".*@.*\\..*") ? "Address Appears Valid" : "Address is Invalid" ));
}

需要注意的重要一點是,輸入對話框將返回一個僅使用一次的字符串。 因此,無需存儲它,而僅在返回時使用它。

只需從您的源中刪除所有CR / LF字符即可:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM