
你这行
String xi = ISBNsubstring(11,12);
要的是第12和第13位的数字,但是你只输入了12位~ Java里第一个位置是从0开始的。所以12代表的是第13个位子。
我建议你再仔细看一些那串处理数字的substring。如果你输入只有12个数字,不能有12出现在你的substring里的,最多11
int FindSamdData(int a, intb, int length)
{
int i,j;
for (i=0,j=0; (i<length)&&(j<length);)
{
while (a < b) //有序排列,挨个比较
{
a++;
i++;
}
while (a > b)
{
b++;
j++;
}
if (a == b) return a;
}
}
int main(void)
{
int a[ ]={1,3,5,7,9,13,15,27,29,37};
int b[ ]={2,4,6,8,10,13,14,27,29,37};
int c;
c = FindSamdData(a, b ,sizeof(a));
}
增加出错的程序。出错的最好使用一个单独参数,我为了方便没有增加参数。
//有序数组查找相同数据,数组等长
//length为0未找到相同数据,
int FindSamdData(int a, intb, int length)
{
int i,j;
for (i=0,j=0; (i<length)&&(j<length);)
{
while (a < b) //有序排列,挨个比较
{
a++;
i++;
if (i>=length)break;
}
while (a > b)
{
b++;
j++;
if (j>=length)break;
}
if (a == b)
{
length = 1;
return a;
}
}
length = 0;
return 0; //
}
//数组不等长
//al或bl超出数组长表示出错,
int FindSamdData2(int a, intb, int al, int bl)
{
int i,j;
for (i=0,j=0; (i<al)&&(j<bl);)
{
while (a < b) //有序排列,挨个比较
{
a++;
i++;
if (i>=al) break;
}
while (a > b)
{
b++;
j++;
if (j>=bl) break;
}
if (a == b)
{
al = i;
bl = j;
return a;
}
}
al = i;
bl = j;
return 0;
}
void main(void)
{
int a[]={1,3,5,7,9,13,15,27,29,37};
int b[]={2,4,6,8,10,13,14,27,29,37};
int la = sizeof(a);
int lb = sizeof(b);
int c;
c = FindSamdData(a, b ,&la);
if (la == 0) printf("No same!");
la = sizeof(a); //la会被函数 FindSamdData 修改
c = FindSamdData2(a, b ,&la, &lb);
if ((la >=sizeof(a)) || (la >=sizeof(a))) printf("No same!");
}
public class Printchar {
static int i;
static String str;
static char c;
static double b;
public static void main(String[] args) {
i=1;
str="love";
c=strcharAt(0);
b=2255;
Systemoutprintln(i);
Systemoutprintln(c);
Systemoutprintln(b);
}
}
你说的是这样????
成员变量要设为类变量
才能在为初始化的情况下在方法中调用
#include<stdioh>//头文件只需要这个
int strll(char str ); //函数名字不能用strlen否则不会出结果的 strlen是内置函数
int main()
{
char astr;//应该为指针
astr = "abc";
strll(astr); //指针直接过去 不必再加寻址符
return 0;
}
int strll(char str )
{
int length = 0;
while( str++ != '\0')
length +=1;
printf("length = %d\n",length);
return length;
}
帮你改好了 按照你的改的,主要有几个部分函数名字不能用strlen 否则会有重复声明的报警和错误。strlen为内置函数。 开始声明 astr应该为指针类型,要不不能赋值字符串
//这下没问题了,呵呵
import javautilScanner;
public class Test40001 {
public static void main(String[] args) {
int ri, repeat;
int i, n;
float sum=0;
Systemoutprintln ("输入运算次数");
Scanner in=new Scanner(Systemin);
repeat=innextInt();
for(ri=1; ri<=repeat; ri++){
Systemoutprintln ("输入要计算的数");
n=innextInt();
for(i=1;i<=n;i++)
{
sum+=10/i;
}
/--------------------/
Systemoutprintln(sum);
sum=0;
}
}
}
以上就是关于JAVA小程序报错全部的内容,包括:JAVA小程序报错、c语言编程小程序、用JAVA编一个小程序,创建类该类含有int和char类型的成员变量,未初始化,然后编程输出这些成员变量的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)