求某范围的所有含1 这个数字的数并存盘保存。

本文介绍了一个Java程序的设计思路,该程序用于找出指定范围内包含数字1的所有整数,并统计这些数字的数量及总和,最后将结果保存到本地文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


/*1. 求某范围的所有含1 这个数字的数并存盘保存。[基础算法+IO]
 ( SpecialDigitals.java  )

   题目要求:
a) 开始和结束范围由用户从控制台(System.in)手工录入。
b) 统计数量并求和。
c) 计算结果保存在 c:\numbers.txt 文件中(每行输出8 个数,可多行显示)。
   文件格式如下:
   开始范围:1
   结束范围:20
   数字:1 10 11 12 13 14 15 16
   …..

   …..

   数字数量:xx 个
   数字和:xxxx
*/

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * @author Calm
 *
 */
public class SpecialDigitals {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		int start;     //开始范围
		int end;	   //结束范围
		int count = 0; //计数器
		int sum = 0;   //数字和
		PrintWriter writer = null;
		
		try {
			writer=new PrintWriter(new FileOutputStream(new File("c:/numbers.txt"),true));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} 
		
		System.out.print("开始范围: ");
		writer.print("开始范围: ");
		start = input.nextInt();
		writer.println(start);
		System.out.print("结束范围: ");
		writer.print("结束范围: ");
		end = input.nextInt();
		writer.println(end);
		System.out.println("\n满足的特殊数字如下: ");
		writer.println("\n满足的特殊数字如下: ");
		
		for(int i = start; i <= end; i++){
			
			if(isSpecialDigital(i)){
				System.out.print(i + "\t");
				writer.print(i + "\t");
				sum += i;
				count++;
				
				if(count % 8 ==0){
					System.out.println();
					writer.println();
				}
			}
						
		}
				
		System.out.println("\n数字数量: " + count);
		writer.println();
		writer.println("数字数量:\n " + count);
		System.out.println("数字和: " + sum);
		writer.println("数字和: " + sum);
		
		writer.flush();
		writer.close();

	}
	
	/**
	 * 判断一个整数是否是要求的特征数字
	 * @param n
	 * @return
	 */
	public static boolean isSpecialDigital(int n){
		
		while(n != 0){
			if(n % 10 == 1)
				return true;
			else
				n /= 10;
		}
		
		return false;
	
	}

}


做这道题的时候发现,writer.print("\n")语句无法将换行操作写入文件,而writer.print('\n')语句就可以。

不明白是什么原因,在控制台输出时,用System.out.print("\n")和System.out.print('\n')都可以输出换行。


原来在windows系统中,写入时换行是用\r\n,writer.print("\r\n");就能写入换行惊讶

CH341A编程器是一款广泛应用的通用编程设备,尤其在电子工程和嵌入式系统开发领域中,它被用来烧录各种类型的微控制器、存储器和其他IC芯片。这款编程器的最新版本为1.3,它的一个显著特点是增加了对25Q256等32M芯片的支持。 25Q256是一种串行EEPROM(电可擦可编程只读存储器)芯片,通常用于存储程序代码、配置据或其他非易失性信息。32M在这里指的是存储容量,即该芯片可以存储32兆位(Mbit)的据,换算成字节就是4MB。这种大容量的存储器在许多嵌入式系统中都有应用,例如汽车电子、工业控制、消费电子设备等。 CH341A编程器的1.3版更新,意味着它可以与更多的芯片型号兼容,特别是针对32M容量的芯片进行了优化,提高了编程效率和稳定性。26系列芯片通常指的是Microchip公司的25系列SPI(串行外围接口)EEPROM产品线,这些芯片广泛应用于各种需要小体积、低功耗和非易失性存储的应用场景。 全功能版的CH341A编程器不仅支持25Q256,还支持其他大容量芯片,这意味着它具有广泛的兼容性,能够满足不同项目的需。这包括但不限于微控制器、EPROM、EEPROM、闪存、逻辑门电路等多种类型芯片的编程。 使用CH341A编程器进行编程操作时,首先需要将设备通过USB连接到计算机,然后安装相应的驱动程序和编程软件。在本例中,压缩包中的"CH341A_1.30"很可能是编程软件的安装程序。安装后,用户可以通过软件界面选择需要编程的芯片类型,加载待烧录的固件或据,然后执行编程操作。编程过程中需要注意的是,确保正确设置芯片的电压、时钟频率等参,以防止损坏芯片。 CH341A编程器1.3版是面向电子爱好者和专业工程师的一款实用工具,其强大的兼容性和易用性使其在众多编程器中脱颖而出。对于需要处理25Q256等32M芯片的项目,或者26系列芯片的编程工作,CH341A编程器是理想的选择。通过持续的软件更新和升级,它保持了与现代电子技术同步,确保用户能方便地对各种芯片进行编程和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值