zoukankan      html  css  js  c++  java
  • 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的第一个参数输出出来

  • 相关阅读:
    微信公众号项目部署
    数据库存入年月日时分秒类型时间问题
    路径问题
    常用DOS命令
    解决Maven下载慢的问题
    害人不浅的数学翻译
    Webpack4 踩坑记
    React 踩坑记
    what's the problem of Object oriented programming
    为什么JVM调优?
  • 原文地址:https://www.cnblogs.com/cxeye/p/2673453.html
Copyright © 2011-2022 走看看