Java- 控制台的输入和由Hello World引发的两个小问题

控制台输入  

  我不是很清楚为什么,Java的DOS控制台的输入会加一下TRY…CATCH,很多其他编程语言里没有过这样。虽然看到JDK 1.5后有增加了一个新类Scanner将System.in做了一个包装的样子后不需要再TRY…CATCH。但用起来还是感觉还是不太好!来看一下报错的输入,像这段程序是会报错了。报错的原因是:test8.java:6: 未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛出。

复制代码
View Code
public class test8
{
 public static void main(String[] args)
 {
  int x;
  x = System.in.read();
 }
}
复制代码

竟然有这样的错误,那么TRY…CATCH一下后,他运行正常,不会再有错误。

复制代码
View Code
public class test8
{
 public static void main(String[] args)
 {
  int x;
  try
  {
   x = System.in.read();
  }
  catch(Exception e)
  {
   
  }
 }
}
复制代码

那么来做一个非常简单的例子,输入三个数,求出他的总数之和。不知道用System.in.read()怎么做,反正他也很不方便,就不去想了。
用Scanner实现需要引入一个JAVA包:import java.util.*;

复制代码
View Code
import java.util.*;

public class test8
{
 public static void main(String[] args)
 {
  int x=-1;
  int y=-1;
  int z=-1;
  int sum=-1;
  
  Scanner reader = new Scanner(System.in);
  x = reader.nextInt();
  y = reader.nextInt();
  z = reader.nextInt();
  sum = x+y+z;
  
  System.out.println(sum);
  
 }
}
复制代码

可是上面开辟了三个变量x,y,z,也太浪费了吧。改写一下。

复制代码
View Code
import java.util.*;

public class test8
{
 public static void main(String[] args)
 {
  int sum=-1;
  
  Scanner reader = new Scanner(System.in);
  while(reader.hasNextInt())
  {
   sum += reader.nextInt();
  }
  System.out.println(sum);
  
 }
}
复制代码

 

由一个Hello World引发的两个小问题,

看一下Hello World简单的小程序,提出两个疑问,第一个是为什么是void,不能是其他的吗?第二个括号里的String[] args有什么用?

我们先来看一下简单的Hello World小程序。

public class test8
{
 public static void main(String[] args)
 {
  System.out.println("Hello world");  
 }
}

 第一个问题,其实void他相当于return 0;相当于这么写
public class test8
{
 public static int main(String[] args)
 {
  System.out.println("Hello world");
  return 0;
 }
}

 第二个问题,args 能接收DOS命令时传递过来的参数。假设我们的程序这么写
public class test8
{
 public static void main(String[] args)
 {
  System.out.println(args[0]);
 }
}

 那么在DOS下需要这样,才能将args的第一个参数输出出来

posted @   春天又来了  阅读(331)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示