(Java问题)为什么这段代码跑不了?以及为什么运行结果里不含Bicycle的“B”而只有ic?

作者&投稿:隐昨 (若有异议请与网页底部的电邮联系)
java 中的继承问题,下面代码的运行结果是什么?为什么?~

结果:0

实际上调用的是:C子类的display(), 打印输出变量 i 的初始值0.
B父类的构造方法调用C子类display()方法

不太清楚您的代码要干什么,不过那个shuZu的class可以不用,然后给您个建议,class的开头字母要大写。您的代码我修改了下,供参考:
package test;
import java.awt.*;
import java.awt.event.*;
public class Jo {
public static void main(String args[])
{
jwin win11=new jwin("ka");
}
}
class jwin extends Frame implements ActionListener //框架类
{
private static final long serialVersionUID = 11L;
Label label;
TextField text;
Button button;
TextArea area;

int b=0;
jwin(String s) //构造函数,从text里输入一个整数,然后按Button,执行 约瑟夫斯 问题
{
label=new Label("input a number");
text=new TextField(15);
button=new Button("done");
button.addActionListener(this);
area=new TextArea(30,30);
add(label);
add(text);
add(button);
add(area);
setLayout(new FlowLayout());
setBounds(10,10,700,700);
setVisible(true);
validate();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}

public void actionPerformed(ActionEvent e) {
try
{
b=Integer.parseInt(text.getText());

int man[]=new int[b];
for(int i=0;i<b;i++)
{
man[i]=0;
}
int k=jPro(man,b);
area.append("****the lucky number is*****"+k);//把最后的人记录下来
}

catch(NumberFormatException event)
{
text.setText("false");
}
}
public int jPro(int z[],int n)//蛮力法求解约瑟夫斯 问题
{
int a=0,b=0;
boolean mark=false;
while(!mark){
mark=true;
int i=0;
for(i=0;i<n;i++)
{
if(z[i]==0){
a++;
if(a%2==0){
z[i]=1;
}
else
{
b=i;
mark=false;
}
area.append("---"+i+"----");// 每一次留下来的人都记录在area
}
}
}
return b;
}
}

Java的String类型的substring(int beginIndex, int endIndex)函数是指从beginIndex位置开始截取,截取长度为endIndex-1.所以s.substring(1, 3)就是截取Bicycle从索引1开始到3-1=2的位置即ic。索引从0开始计数。

Bicycle

0123456

另外,main函数是公共静态的,你缺少了static关键字,改为:

public static void main(String[] args) {
   // ...
}


substring方法,第一个定位用的参数,是从0开始数的,所以iBegin是1,那么就是0,1,也就是从i开始截取。
望采纳


java问题求答案.急!!
5、 Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含 (main )方法的类;在Java Applet里,这个主类是一个系统类( 不知道)的子类。6、 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类My...

java的问题
这里直接把s赋值给readContent是有问题的,问题点如下:假设文件有两行 第一行 第二行 则读取循环两次,第一次s赋值给readContent,readContent的值为 "第一行",然后又循环,读取第二行,再次赋值,则readContent就会变成 "第二行",第一行的值就丢失了;这里StringBuff的作用是把读取到的内容连接...

(问答题,10.0分)什么是异常?什么是致命错误?写出 Java
在计算机编程中,异常是指程序运行中出现的错误。异常可以是编译时异常,也可以是运行时异常。编译时异常是在编译程序时检测到的错误,而运行时异常是在程序运行时检测到的错误。致命错误是指导致程序无法继续运行的错误。致命错误可能是由硬件故障、操作系统故障或其他严重问题引起的。在 Java 中,异常是...

java实在学不明白,几个java问题请教大家
Java错误问题看不明白 请高手请教 晕啊~! 是用嵌入式JAVA写的看懂一点点了,界面部分报错~@!请问刷墙的几个问题,实在不明白,请专家解释 60平米,墙体面积应该120平米左右吧,涂料要多少够呢? 答:每1L混合涂料可以刷6平米两遍,那么就是20L,混合比例为10%兑水,实际使用就是18L. 我...

Java编程中常见的错误有哪些
将出现的异常的代码中,放入如上的方法中,就会将异常抛给该方法的上一级,在主函数上继续向上抛,最终抛给JVM java虚拟机,让JVM来解决该问题。如代码:注意:在catch和throws的时候如果不确定是什么异常,就直接写一个Exception.(2) 如何处理运行时异常?1.一般情况下,运行时异常是不用处理的 2....

在Java中,为什在定义常量中要加修饰符final?到底起什么作用呢,能不能...
百度一下你就知道啦,学计算机提问题没有百度问题解决的快!在方法参数前面加final关键字就是为了防止数据在方法体中被修改。这里主要分两种情况:第一,用final修饰基本数据类型;第二,用final修饰引用类型。第一种情况,修饰基本类型(非引用类型)。这时参数的值在方法体内是不能被修改的,即不能被...

java语言基础的问题
java 是现在流行的高级语言的一种。它的特点是支持面向对象、可移植性、安全性都比较好。一个java程序首先通过编译器把源代码编译为字节码(bytecode)的机器语言,然后在虚拟机中解释执行。为了方便移植,java是不生成exe(windows下的excecutable可执行文件)的,这样就可以在windows之外的系统中运行。至...

关于java中类型转化运算 为什int型128转换成 byte型就成了-128了呢...
这个涉及补码的知识。我先给你写出结论:正数的补码是本身的二进制表示,负数的补码=对应正数的二进制反码+1(反码即二进制的所以位取反),并规定首位为符号位不表示值,0为正1为负。说了这么一堆,有啥用呢?有!整数在计算机中就是以补码的形式存储的。OK基础有了我们来看看这个问题。int 类型...

java.lang.NullPointerException错误是什么意思
java.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。在Java中一般报空指针异常的原因有以下几种:1、字符串变量未初始化;2、接口类型的对象没有用具体的类初始化,比如:List lt;会报错 List lt = new ArrayList();则不会报错了 3、当一个对象的值为空时,没有...

在Java编程中遇到问题:需要为class、interface或enum是什么意思呢?求解...
意思是你写的代码没有使用class,interface,enum这几个关键字。class是类,interface是接口,enum是枚举。估计是你新建一个类时忘记了写关键字

舞钢市19271319219: 为什么这段java代码编译时未报错,却执行不了,求解 -
包衫复方: 首先呢,你这样的命名规则是有问题,不是说你这样命名是错误的!其次呢,告诉你下为什么会编译错误!因为操作系统不区分文件名的大小写的,java.exe是没办法区别大小写的,但是javac.exe却会区分大小写的.当编译的时候只编译了其中一个类,不管是编译的是哪个,另外的那个就要引用就会找不到的.最好把同名的类放到不同的包内进行编译,不要放在同一个文件里编译.最后告诉你下你的主方法写错了,直接执行就找不到主类的主方法!

舞钢市19271319219: 这段JAVA代码为什么运行不了? -
包衫复方: 更改Outer o=new Outer()---->Outer1 o = new Outer1();结果即为6 1 1

舞钢市19271319219: java新手问题 这个代码怎么都运行不了 -
包衫复方: 错误一:f定义在for循环里面.注意大括号.改正:把f提出来.放到for外面.注意一:用到的变量必须先初始化.不然也会报错.如boolean f=false;//这里定义成true或false都可以 建议一:用myeclipse运行JAVA代码,会有错误提示.方便初学...

舞钢市19271319219: 求java大神帮忙看看,为什么这段代码有错误运行不了呢? -
包衫复方: try{String s=intemp readLine();}catch(IOException e){少个点String s=intemp.readLine();这样就好了啊..

舞钢市19271319219: 那位大侠知道这段代java代码为什么编译能通过但不能运行 有怎么解决方法吗? -
包衫复方: 指定运行不了 你是放在一个类中了吧 建议修改一下 x去掉public z加上public 然后文件名z.java 然后运行 java z 你先试试 java z

舞钢市19271319219: 那位高手帮我看下这段JAVA代码 为什么我不能运行
包衫复方: System.outprintln System.out.println 需要在控制台运行的 的确是这样 一些IDE集成了环境,也不一定都需要设置JDK环境, 不过个别调试功能 可能会调用到

舞钢市19271319219: 初学java,这段程序运行不了,怎么回事 -
包衫复方: public class HelloJava { pubilc static void main(String[] args) { System.out.println("Hello Java,I like you"); } } java声明类的方法都是没有,不过你这里就是语法写错了导致的问题.

舞钢市19271319219: 为什么我这段java代码里面的代码运行不了 有框架出来, 但是点击按钮之后就area里就没有显示了 请教高手? -
包衫复方: 我不知道什么叫约瑟夫问题,但是这个地方错了:shuZu man[]=new shuZu[b]; 你这个意思是创建一个以实体类为值得数组,但是数组中虽然有 了实体类,但是每个实体类却并没有被创建出来,所以每个实体类为null,因此你调用类里的参数当然没有,出现nullpoint错误,修改这段:shuZu man[]=new shuZu[b]; for(int i=0;i<b;i++) { shuZu s = new shuZu(); s.a = 0; man[i]=s; }

舞钢市19271319219: 我从书上摘下来一段Java程序,为什么运行不了
包衫复方: 我完全理解这段代码需要表达的意思 应该是关于成员变量和局部变量的 应该加一个public声明的类. 完整代码如下. class Hee{ int a=9; float b=12.6f; void f(){ a=12; b=12.56f; } } public class Test { public static void main(String args[]) { Hee test=...

舞钢市19271319219: java编程问题:一下的代码我编好后运行不了,求运行的具体方法,我要输入什么? -
包衫复方: public static void main(final String[] args) throws IOException { int count = 0, i; // 以'q' 字符作为循环退出标记 while ((i = System.in.read()) != -1) { if ((char) i == 'q') { break; } count++; } System.out.println("你输入了" + count + "个字符"); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网