这个程序(见补充),在eclipse下可以运行,但是在cmd模式用javac编译了,却没法用java命令运行!

import java.util.*;
public class Fibonacci{
public static void main(String[] args){
Scanner in =new Scanner(System.in);
int a=in.nextInt();
System.out.println(fn(a));
System.out.println();
}

public static int fn(int a){
System.out.println("*****");
if(a<1)
System.exit(-1);
int c=1;
int d=1;int i;
System.out.println(c);
System.out.println(d);
for(i=0;i<a-3;i++)
{
d=d+c;
c=d-c;
System.out.println(d);
}
d=d+c;
c=d-c;
return d;
}
}

程序没有问题,用java命令也能运行,应该是你java的.class文件文件名不一致

比如你javac Fibonacci.java

生成的就是Fibonacci.class

你就要java Fibonacci

如果你是javac F.java

生成的就是F.class

你就要java F

如果你是别的java文件,那么javac命令编译出来的也是对应的.class文件,跟你.java文件中类名无关 

如果你要像问2楼那样,直接就能输出的话

int a=in.nextInt();

将这句改成赋值语句就行了,比如

int a=4;

或者int a=5;

或者int a=6;

总之改成赋值语句就可以了

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-06
那请问你在cmd下是怎么运行的?你应给在java DosPromptInputData 后面应该还有参数吧,否则args[0],args[1]怎么会有值?但是你在eclipse下运行的时候给参数了么?不给的话args[0]当然是数组越界了
第2个回答  2011-09-05
Scanner in =new Scanner(System.in); 你要在黑窗口上输入参数追问

如果要运行java命令时直接输参数呢?怎么改啊?

追答

那就用args 不过还是要在黑窗输参数啊 除非先设定好

...jre,eclipse可以运行并且可执行java程序,但cmd命令符不能用java...
可以了,cmd无法使用java是环境变量的问题 path加上;%JAVA_HOME%\/jre\/bin java_home C:\\Program Files\\Java\\jdk1.6.0_21 指的是你自己java路径 classpath.;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\\tools.jar

java环境变量设置正常,eclipse,tomcat都正常工作,可是cmd下java命令...
命令行无效一般都是你java环境变量设置有问题。你好好检查一下,然后再命令窗口中输入java和javac命令能显示就说明你环境变量设置对了,不然就没设置对。你以前没有在命令行里检查吧,以前是不是直接在eclipse里运行的啊。eclipse里有自带的java运行环境。是不需要你本地配置的。

在命令行下 执行javac可以通过,但java不可以,请问是什么原因
你的系统变量没有设置好.首先,你java能不能运行和环境变量的配置无关,相反你的CLASSPAT配置不好反而会影响正常的java运行,建议你删除后重新安装jdk(默认会安装jre,并且帮你把java程序配置好),然后再配置jdk.jdk最佳配置:1.添加JAVA_HOME变量:在系统高级->环境变量中,点击"New"添加变量,变量名:"JAVA...

eclipse打不开了,Java环境还在,因为在命令行里输入javac有反应
首先打开提示的目录位置,查找是否存在这个文件和文件夹。如果不存在的话,表示java安装过程中出错,相应的文件没有安装。需要在控制面板中卸载java再重新安装。我遇到的就是这种情况。卸载后,重新安装之前访问注册表,删除如下信息在点击开始--》运行-》输入regedit确定打开注册表。二、 找到HKEY_LOCAL_MACH...

所有java程序在cmd下只能用javac编译,而用java+类名执行就出现异常,环 ...
如果你的编译木有问题的话。就是你写java源代码的时候定义了包名。比如:package test;Class AAA1{};编译后执行的时候 需要加上包名.才行滴。然后把文件放到一个目录为test 中 执行时候应该是把控制台转到test的父目录下 输入 java test.AAA1 就ok了。这个是初学者很容易遇到的问题 = = ...

java可以运行但是在命令行里javac不行是为什么
在cmd中可以运行java,但运行javac命令时提示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了。这时候你在lib下也找不到tools.jar和dt.jar.解决:1)卸载java,直接用windows自带的卸载这两个有关java的程序;2)...

在命令提示符里能运行java却不能运行javac
解决:卸载java,重新安装。配置环境变量:1、新建一个系统变量。变量名:JAVA_HOME 变量值:D:\\Java 2、系统变量(CLASSPATH),没有就自己新建一个 3、系统变量(Path)在变量值的最后面加上:;%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;打开cmd,输入java,javac和java -verbose都成功,就说明安装...

用ECLIPSE能编译java文件吗?那和cmd运行javac命令有什么不同
用ECLIPSE当然可以编译java文件,直接点击保存一个java文件,他就自动编译了,正确就可以run。而cmd运行javac命令,一样的可以编译。我就说说eclipse,它是一个快速开发java的工具,方便快捷,很多语句不用我们手动去敲打他,就会提示,工作中必须要用的。而cmd是学习java必须的一步,你必须手动去敲代码,...

环境变量设置好了,cmd运行java和javac均显示,但是在编译程序时仍然出现...
有多文件命名的是: .txt.。比如说记事本写一个程序命名为“HelloWord.java”但是文本的属性是txt文件 ,javac不能编译。打开文件夹-->工具-->文件夹--〉视图--〉取消 隐藏文件的扩展名

...还编写了一小程序也可以运行了!就是eclipse无法开
你的意思是你的jdk安装好了,path也配置好了,无法运行eclipse?其实,eclipse的运行只要安装jdk就可以了,eclipse是自动寻找jdk的,所以使用eclipse就算不配置路径也能使用,只要安装了jdk。所以你应该再检查一下你安装过程中的问题。

相似回答