求某范围的所有含1 这个数字的数并存盘保存。
来源:互联网 发布:linux pycharm 注册码 编辑:程序博客网 时间:2024/05/16 09:25
/*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;elsen /= 10;}return false;}}
做这道题的时候发现,writer.print("\n")语句无法将换行操作写入文件,而writer.print('\n')语句就可以。
不明白是什么原因,在控制台输出时,用System.out.print("\n")和System.out.print('\n')都可以输出换行。
原来在windows系统中,写入时换行是用\r\n,writer.print("\r\n");就能写入换行
0 0
- 求某范围的所有含1 这个数字的数并存盘保存。
- 输入一个数,求这个数的各位数字之和
- 如何接收并输出超出最大数字范围的数?
- 十二、函数能够判断一个数字是否是一个素数(并给出一个范围求出这个范围内所有的素数)
- 一个数组中所有的数都是成对出现的只有一个或者两个数字是单独的,求这个数
- 求所有个位、十位、百位的三次方加和等于这个数本身的数
- 输入一串数字,求比这个数大的下一个回文数
- 计算并输出100以内所有含7的或7的倍数的数
- 算法笔试题(三):1000个数范围[0,999],有2个相同的数,求这个数
- 求1-n位数的所有数
- java 求1到n之间的所有完数,并输出各个因子
- 算法设计:有n个数,范围是从1到n,且只有唯一的两个数相同,如何最快的求相同的这个数值?
- 求1-1000内所有的完数(一个数如果恰好等于它的因子之和,这个数就称为“完数”。如6就是1个完数: 6=1+2+3,因子数就是所有可以整除这个数的数,但是不包括这个数自身.比如15的
- 求所有的水仙花数
- 求所有的水仙花数
- java求子集和,给定数组求这个数组中某些数字相加等于某个值的所有可能集合
- 字符串中找出连续最长的数字子串,并返回这个数字串的长度
- 统计一个数字的位数并顺序和逆序输出这个数
- IOS常见的错误大全
- OSG中setViewMatrix和setViewMatrixAsLookAt函数
- PHP正则-贪婪匹配(最大匹配) 和最小匹配的问题。
- Silverlight依赖属性
- 了解php中die(),exit(),return的区别
- 求某范围的所有含1 这个数字的数并存盘保存。
- JSP标签c:forEach报错(二)
- vdr使用linux nfs作为存储
- PHP array_combine() 函数,合并两个数组来创建一个新数组
- Rational Rose 之 计算机丢失suite objects.dll
- C# List的一些LINQ用法
- HDU 3887 Counting Offspring dfs序的运用 | 非递归
- 重新扬帆启航
- 【暴力几何】#6 A. Triangle