蓝桥杯基础-013-Palindrome_Special_Number

生成五位或六位回文数

题意

输入一个数字n

输出一个五位或六位回文数 && 各位数字和为n

代码


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner keyin = new Scanner(System.in);
		int n = keyin.nextInt();
		int result = 0;
		for (int i = 0; i < 10; i++) {
			boolean digit5 = false;
			for (int j = 0; j < 10; j++) {
				if(i == 0){
					digit5 = true;
					if( j == 0) continue;
				}
				for (int j2 = 0; j2 < 10; j2++) {
					for (int k = 0; k < 10; k++) {
						for (int k2 = 0; k2 < 10; k2++) {
							for (int l = 0; l < 10; l++) {
								if(digit5){
									if(j == l && j2 == k2 && n == j+j2+k+k2+l){
										result = j*10000 + j2*1000 + k*100 + k2*10 + l;
										System.out.println(result);
									}
								}
								else{
									if(i == l && j == k2 && j2 == k && n == i+j+j2+k+k2+l){
										result = i*100000 + j*10000 + j2*1000 + k*100 + k2*10 + l;
										System.out.println(result);
									}

								}
							}
						}
					}
				}
			}
		}

	}

}

Summary

1.五层循环 每层都是 0 to 9 + 特殊(第一层为0时,若第二层也为0 -> continue; else digit5 process )else digit6 process 

2.一层循环 10000 to 999999 + if digit5 else digit6 + MOD & / 取出各位操作


TrimmomaticPE: Started with arguments: -threads 4 -phred33 /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_2.fq.gz ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at org.usadellab.trimmomatic.trim.IlluminaClippingTrimmer.makeIlluminaClippingTrimmer(IlluminaClippingTrimmer.java:54) at org.usadellab.trimmomatic.trim.TrimmerFactory.makeTrimmer(TrimmerFactory.java:32) at org.usadellab.trimmomatic.Trimmomatic.createTrimmers(Trimmomatic.java:59) at org.usadellab.trimmomatic.TrimmomaticPE.run(TrimmomaticPE.java:552) at org.usadellab.trimmomatic.Trimmomatic.main(Trimmomatic.java:80) 我的代码:java -jar /public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/trimmomatic.jar PE -threads 4 -phred33 \ /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_2.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_1.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_2.fq.gz \ ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa \ LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
最新发布
07-24
<think>我们遇到了一个Trimmomatic运行时的错误:`ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1`。这个错误发生在`IlluminaClippingTrimmer`的初始化过程中,具体是在解析adapter文件路径时出现了问题。 根据错误信息,我们注意到错误发生在`IlluminaClippingTrimmer.makeIlluminaClippingTrimmer`方法的第54行。这通常是因为在`ILLUMINACLIP`参数中提供的adapter文件路径不正确或者格式有问题,导致程序在解析时出错。 观察你的命令,你使用了: ``` ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa ``` 在Trimmomatic中,`ILLUMINACLIP`参数后面应该跟着三个参数,分别是: 1. adapter序列文件 2. 允许的最大mismatch数(通常设为2) 3. 回文匹配的阈值(通常设为30) 4. 简单匹配的阈值(通常设为10) 但是,在你的命令中,只提供了一个参数(即adapter文件路径),而缺少了另外两个参数(mismatch数和阈值)。因此,程序在尝试获取第二个参数时发生了数组越界(因为只有一个元素,却试图访问第二个元素)。 正确的`ILLUMINACLIP`参数格式应该是: ``` ILLUMINACLIP:<adapterFile>:<seed mismatches>:<palindrome clip threshold>:<simple clip threshold> ``` 例如,通常使用: ``` ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 ``` 所以,你需要修改你的命令,在adapter文件路径后面加上三个参数(用冒号分隔)。例如: ```bash java -jar /public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/trimmomatic.jar PE -threads 4 -phred33 \ /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_2.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_1.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_2.fq.gz \ ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa:2:30:10 \ LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36 ``` 这样,程序在解析`ILLUMINACLIP`参数时就会得到四个部分(包括文件路径和三个数字),而不会出现数组越界错误。 另外,请注意,adapter文件的路径是否正确?确保该文件确实存在于你提供的路径中。如果路径中有空格或其他特殊字符,也需要用引号括起来,但这里路径中没有空格。 总结:修改`ILLUMINACLIP`参数,添加缺失的三个数值参数(用冒号分隔),然后重新运行命令。 如果问题仍然存在,请检查adapter文件是否完整且可读。 希望这个解决方案能帮助你解决问题。 §§相关问题§§: 1. Trimmomatic中ILLUMINACLIP参数的具体含义是什么? 2. 除了ILLUMINACLIP,Trimmomatic还有哪些常用的trimming步骤? 3. 如何检查Trimmomatic处理后的结果质量? 4. 如果adapter文件不存在,Trimmomatic会报什么错误?</think>### 问题分析 您在使用Trimmomatic时遇到的`ArrayIndexOutOfBoundsException`错误,通常是由于**ILLUMINACLIP参数格式错误**导致的。Trimmomatic要求`ILLUMINACLIP`参数必须包含4个用冒号分隔的部分(adapter文件路径 + 3个数值参数),但您的命令中只提供了文件路径,缺少了后3个必需的数值参数。 ### 解决方案 修改`ILLUMINACLIP`参数格式,添加缺失的3个数值参数。标准格式应为: ```bash ILLUMINACLIP:<adapter.fa>:<seed_mismatches>:<palindrome_clip_threshold>:<simple_clip_threshold> ``` #### 修正后的命令: ```bash java -jar /public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/trimmomatic.jar PE -threads 4 -phred33 \ /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz \ /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_2.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_1.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_1.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_2.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_2.fq.gz \ ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa:2:30:10 \ LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36 ``` #### 关键修改说明: 1. **ILLUMINACLIP参数补充**: - `:2` → 允许的seed区域错配数(通常2) - `:30` → 回文模式匹配阈值(通常30) - `:10` → 简单模式匹配阈值(通常10) 2. **其他参数说明**: - `LEADING:3`:切除起始质量值<3的碱基 - `TRAILING:3`:切除末端质量值<3的碱基 - `SLIDINGWINDOW:4:15`:4碱基窗口平均质量<15时切除 - `MINLEN:36`:丢弃长度<36的reads ### 验证步骤 1. **检查Adapter文件是否存在**: ```bash ls -l /public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa ``` 2. **测试简单命令**: ```bash java -jar trimmomatic.jar PE -version ``` ### 常见问题排查 如果仍报错,尝试: 1. 使用绝对路径时检查特殊字符(建议路径中不要有空格) 2. 确认Java版本兼容性(需Java 8+) 3. 检查输入文件是否损坏: ```bash zcat /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz | head -n 8 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值