最近似乎一直都在写脚本语言,js ruby,写了几个月,竟然就养成了行末无引号的习惯,呵呵,不得不自嘲下,脚本没写好,综合症已经有了。
很久不写java,显然是生疏了,以至于怎么都想不起来怎么样实现类似c++的cin,狂汗。。。
正好开始在看数据结构与算法,看着C++版的,写着Java版的。就先贴获取控制台输入数据的代码,也算是汉诺塔的解决方案吧。
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* @author Rhein
* @see test the traditional hanoi problem
*
*/
public class Hanoi {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
while (true) {
System.out.println("please input a proper integer:");
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
String read = br.readLine();
move(Integer.parseInt(read), 1, 3, 2);
}
}
private static void move(int count, int start, int finish, int temp) {
if (count > 0) {
move(count - 1, start, temp, finish);
System.out.println("move disk" + count + " from " + start + " to "
+ finish);
move(count - 1, temp, finish, start);
}
}
}
顺便跟share下几个还是比较有用的eclipse快捷键。
ctrl+d,shift+home,shift+end,ctrl+alt+上
分享到:
相关推荐
由于`System.in`是静态的且不可变,一旦关闭就无法再次打开,因此后续尝试创建新的`Scanner`对象并使用`System.in`时,会因为流已经关闭而抛出`NoSuchElementException`。 解决这个问题有几种策略: 1. 每次需要...
在Java编程语言中,I/O(输入/输出)是程序与外部世界交互的重要部分,而标准输入输出流(System.in, System.out, System.err)是Java内置的预定义流,用于处理程序与操作系统之间的基本输入输出操作。这篇博客将深入...
Scanner input = new Scanner(System.in); String str = input.next(); byte[] byteArray = str.getBytes(); char[] c = new char[str.length()]; // 密文 for (int i = 0; i < byteArray.length; i++) { if ...
2. 创建对象:然后,我们需要创建`Scanner`对象,通常将它实例化为某个变量,例如`Scanner scanner = new Scanner(System.in);`这里的`System.in`表示从标准输入流(通常是键盘)读取数据。 3. 使用:通过`Scanner`...
Scanner s = new Scanner(System.in); ``` 这里`System.in`代表标准输入流,通常是从键盘接收用户输入。 `Scanner`类提供了一些核心的方法来读取输入: 1. `next()`方法:此方法会读取下一个完整的标记,直到遇到...
创建扫描对象的基础语法是 `Scanner scanner = new Scanner(System.in);`,其中 `System.in` 代表标准输入流,即从键盘输入。有了扫描对象,我们可以使用 `hasNext()` 和 `hasNextLine()` 方法来判断是否还有输入的...
4. Java语言基础:代码使用Java语言,涉及到基本语法和数据类型,例如`public class`、`main`方法、`for`循环、`while`循环、`System.out.print`语句等。 详细解释 单链表是一种基本的数据结构,它由多个节点组成...
《面向对象程序设计——JAVA.pdf》是一份详细阐述Java编程的资料,适合初学者入门。这份资料涵盖了Java的基础知识,包括Java的起源、体系结构、主要特性,以及如何搭建Java开发环境和配置系统环境变量,最后还介绍了...
System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); } ``` 2. 长整型(long)占用8个字节,表示范围为-2^63至2^63-1。例如: ```java public static void main2(String[] args) {...
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int f = Integer.parseInt(br.readLine()); double c=5*(f-32); c=c/9; System.out.println("Changing it to Celsius is "+c); } }
System.out.println("say hello before invoke"); helloInterface.sayHello(); System.out.println("say hello after invoke"); } } ``` ### 动态代理 静态代理的问题在于,每增加一个需要代理的类,就需要创建...
8. **控制台输出**:使用`System.out.println()` 打印信息到控制台,与用户进行交互。 9. **程序终止**:当用户尝试三次都失败后,程序不会再次提示输入密码,这是因为`while` 循环的条件不再满足,循环结束,程序...
System.out.println("B ===> test"); } } public class A extends B { @Override public void test() { System.out.println("A ===>test "); } } ``` 在这个例子中,`A` 类重写了 `B` 类的 `test()` 方法。 ...
在Java编程中,Oracle存储过程的调用与标准输入(System.in)的交互可能会遇到一些问题,特别是当尝试使用System.in进行阻塞IO操作时。这个问题通常涉及到Java的多线程概念、I/O流的处理以及Oracle存储过程的执行...
System.out.println("静态代码块"); } public Person() { System.out.println("构造方法"); } } ``` 当创建`Person`类的第一个对象时,静态代码块会被执行,后续创建的`Person`对象不再执行此代码块。 4. *...
System.out.println("合格"); } else { System.out.println("不合格"); } ``` 接下来,程序使用`switch-case`语句进行相同的操作。`switch-case`是另一种条件判断结构,适用于多个可能的分支情况。在这个例子中,...
System.out.println(obj); ``` 由于YAML文件内容可以被解析成多种类型的Java对象(如List、Map等),这段代码将整个YAML文件解析为一个顶级的Java对象。为了方便操作,我们通常将其转换为`Map`类型: ```java Map,...
System.out.println(x); } ``` 数组还可以作为方法的参数传递,或者作为方法的返回值。例如: ```java public static int[] arrayReverse(int[] input) { // 实现数组反转的逻辑 } int[] reversedArray = ...
System.out.println("传递的参数为: " + a); if (a > 10) { throw new MyException(a); } System.out.println("ok"); } ``` 捕获异常 在 Java 中,捕获异常使用 try-catch 语句,例如: ```java public static...
System.out.println(json); } ``` 在上面的代码中,我们首先创建了一个Person对象,然后使用Gson库的toJson()方法将其转换为JSON格式的字符串。运行结果如下: ``` {"name":"张三","age":18} ``` 使用Java原生API ...