2013-02-28 37 views
0
public class BioHomework { 
    public static void main(String[] args) { 
    if(args.length < 2) { 
     throw new IllegalArgumentException("two args required"); 
    } 
    String sequence = args[1]; 
    if (!sequence.toLowerCase().matches("[atgc]{10,20}")){ 
     throw new IllegalArgumentException("second arg should be 'atgc' string between 10 and 20 characters"); 
    } 
    if ("u".equals(args[0])) { 
     System.out.println(sequence.toUpperCase()); 
    } else if ("l".equals(args[0])) { 
     System.out.println(sequence.toLowerCase()); 
    } else { 
     throw new IllegalArgumentException("first argument must be either 'u' or 'l'"); 
    } 

    } 
} 

如何通过给出命令行参数让大小写打印dna序列。上面的代码只给我提供了没有其他信息的消息。正则表达式处理一些字符的大写和小写

+0

使用'执行程序的Java BioHomeworküDNAString'或'Java的BioHomework升DNAString' – 2013-02-28 18:38:12

+0

我知道如何执行程序,我需要在ACGT大写或小写的长度应该在10到20之间。 – Sandra 2013-02-28 18:41:57

+0

它给你哪些信息? – 2013-02-28 18:42:42

回答

0

只需更改RegEx以接受大写或小写字符。从

[atgc]{10,20} 

[aAtTgGcC]{10,20} 
+0

不幸的是没有工作我收到线程主IllegalArgumentException异常(“需要两个参数”); – Sandra 2013-02-28 22:07:04

+0

我无法弄清楚上面的代码有什么问题。请让我知道在打印命令行参数u或l时如何获取dna序列的大写或小写。 – Sandra 2013-02-28 22:09:26

+0

如果我理解你的话,你需要向你的Java程序发送2个参数:第一个参数是字母'u'或'l',第二个参数是你的DNA字符串。使用'java BioHomework u ACGCTGATGA'调用程序(就像一个例子)。 – 2013-02-28 22:20:44

相关问题