`
lushuaiyin
  • 浏览: 705032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

System.in学习

 
阅读更多

关于System.in.read() (2007-11-26 12:56)
分类: Java学习

Java遵循标准I/O的模型,提供了Syetem.in,System.out,以及System.err。本书一直都在用System.out往标准输出上写,而它(System.out)是一个已经预先处理过的,被包装成PrintStream的对象。和System.out一样,System.err也是一个PrintStream,但是System.in就不对了,它是一个未经处理的InputStream。也就是说,虽然你可以直接往System.out和System.err上写,但是要想读System.in的话,就必须先做处理了。

(注:我写了个程序,直接用a=System.in.read();,结果输入1的时候竟然输出的是49,呵呵, 原来 System.in.read() 返回的是输入数值的 ASKII 码(一个 int 整数))

import java.io.*;
public class Sum
{
public static void main(String args[]) throws java.io.IOException
{
int a=0;
a=System.in.read();

System.out.pringln("a="+a);
int sum=0;
for(int i=0;i<=a;i++)
sum+=i;
System.out.println(sum);
}
}

注意:throws java.io.IOException 要写在(String args[])的后面。

编译通过,执行:

java Sum
2
a=50
1275

发现输入的是 2 ,而返回 a 的值却是 50 ,后来查了一下,原来 System.in.read() 返回的是输入数值的 ASKII 码(一个 int 整数)。

如果要求輸入與輸出的一致的話:

通常情况下,你会用readLine( )一行一行地读取输入,因此要把System.in包装成BufferedReader。但在这之前还得先用InputSteamReader把System.in转换成Reader。

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

int a = Integer.parseInt(in.readLine());//强制转换为需要的类型

import java.io.*;
public class Sum
{
public static void main(String args[]) throws java.io.IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
System.out.println("a="+a);
int sum=0;
for(int i=0;i<=a;i++)
sum+=i;
System.out.println(sum);
}
}

分享到:
评论

相关推荐

    System.Linq.dll.rar

    《深入解析C#中的System.Linq.dll》 System.Linq.dll是.NET框架中一个至关重要的组件,它是C#语言 LINQ(Language Integrated Query,语言...学习和掌握LINQ不仅是提升编程效率的关键,也是现代C#开发者的必备技能。

    用System.Drawing画饼图

    在.NET Framework中,`System.Drawing`命名空间提供了一系列类,用于进行基本的图形绘制和图像处理,其中包括绘制...在实际项目中,可能还需要考虑性能优化、响应式设计等问题,但以上内容已经足够开始学习和实践了。

    SystemIn:用于从 Java 控制台读取的 Java API (System.in)

    在这个`SystemIn`项目中,开发者可能创建了一个工具或库来方便处理`System.in`的输入数据。 `System.in`是一个`InputStream`对象,它表示程序的标准输入流。`InputStream`是Java IO体系中的一个基础类,用于读取...

    Signal and system.pdf

    欧拉公式(Euler's formula)通常表达为:e^(jθ) = cos(θ) + jsin(θ),其中j是虚数单位。在连续时间信号的傅里叶分析中,使用欧拉公式可以将周期信号分解为频率不同的正弦波分量,帮助我们理解信号的频率结构。 ...

    TOWARDS FEDERATED LEARNING AT SCALE SYSTEM DESIGN.pdf

    联邦学习是一种分布式机器学习方法,可对大量分散数据进行模型训练。我们已在TensorFlow的基础上为移动设备领域的联合学习构建了可扩展的生产系统。在本文中,我们描述了由此产生的高级设计,概述了一些挑战及其解决...

    gaussian process in dynamic system.zip

    该例程包含三个文件夹 主要是高斯过程在动态系统的应用 本例程主要使用了二阶的一个系统结构 三个程序分别代表高斯过程在动态系统中的验证,改变超参数sigman之后的预测分析,以及突然改变输入动态范围时的情况 ...

    Exploring Social Tagging in a Web 2.0 Recommender System.pdf

    在这个背景下,“Exploring Social Tagging in a Web 2.0 Recommender System.pdf”探讨了如何利用社会标签(Tagging)来增强Web 2.0推荐系统的性能和用户体验。社会标签是指用户为网络上的资源添加关键词的行为,...

    java输入输出语句.doc

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一行文本:"); String line = reader.readLine(); System.out.println("您输入的是: " + line); } ...

    JAVA数据的输入和输出.doc

    Scanner in = new Scanner(System.in); System.out.print("请输入圆的半径:"); double r = in.nextDouble(); double perimeter = 2 * Math.PI * r; double area = Math.PI * r * r; System.out.println("圆的...

    java小狗管理系统

    Scanner scanner = new Scanner(System.in); int id; String name; int age; System.out.println("-----------------------------------------"); System.out.println("| 欢迎使用狗舍管理系统 |"); System...

    vb.module.system.programming.harddisk.scan.rar_VB disk_VB 扫描_sca

    4. **VB扫描(Scan in VB)**: 在VB中实现扫描功能,开发者需要设计算法来遍历硬盘上的每个逻辑或物理块,检测错误或异常。这可能涉及到线性扫描、树形扫描或者自定义的扫描策略。 5. **源码分析(Source Code ...

    TEST_SPEECH.rar

    foreach (VoiceInfo voice in synth.GetInstalledVoices()) { Console.WriteLine($"Voice: {voice.Name}, Gender: {voice.Gender}, Language: {voice.Language}"); } ``` 3. **SpeechSynthesizer Properties and ...

    基于C#实现的仿windows左侧伸缩菜单效果

    这在学习C#界面编程的时候能用上,其主要实现代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using ...

    2_Java程序设计实验报告.doc

    Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = input.nextInt(); System.out.println("您输入的整数是:" + number); } } ``` ##### 3. 从键盘输入一个字符...

    一个Java初学者代码练习集合(适合Java初学者查看).zip

    Scanner input = new Scanner(System.in); int[] a ={1,2,3,4,5,6,7,8,9}; int b; boolean c=false; String d; do{ System.out.println("请输入一个数字:"); b= input.nextInt(); for(int i=0;i&lt;a....

    JAVA编程习题与答案_完全版.doc

    Scanner in = new Scanner(System.in); int n, a, b, sum; n = in.nextInt(); // 输入操作次数 for(int i = 1; i ; i++){ a = in.nextInt(); b = in.nextInt(); sum = a + b; System.out.println("sum=" + ...

    Linear Matrix Inequalities in System and Control Theory

    此巨著《Linear Matrix Inequalities in System and Control Theory》是由Stephen Boyd, Laurent El Ghaoui, Eric Feron和Venkataramanan Balakrishnan合著,涵盖了LMI的基本概念、理论基础以及在系统与控制理论中的...

    java学习笔记JDK6课件之三

    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入一列文字,可包括空白 : "); String text = bufferedReader.readLine(); System.out.println("您...

    Recommending What Video to Watch Next: A Multitask Ranking System.pdf

    文章涉及信息系统的检索模型和排名,推荐系统,计算方法论的排名、多任务学习和从隐式反馈中学习。 文章中提到的关键技术与概念包括: 1. 多门混合专家(Multi-gate Mixture-of-Experts,MoE)模型:这是一种通过软...

Global site tag (gtag.js) - Google Analytics