C#类

亭子青年 2012-04-09 12:12:33
namespace Ti2
{
class ZhengXing
{
private int a;
public ZhengXing(int x)
{
a = x;
}
public bool ZhiShu()
{
bool flag=true;
for (int i=2;i<a;i++)
if(a%i==0)
{
flag =false ;
break;
}
return flag;
}
public int ChiFang(int N)
{
int x=1;
if(N ==0)
x=1;
else
for(int i=0;i <N;i++)
x=x*a;
return x;
}
public void ZhuanHuan()
{
int count = 0;
int[] b;
for (int i = 0; a != 0; i++)
{
b[i] = a % 2;
a = a / 2;
count = count + 1;
}
for (int i = count - 1; i >= 0; i--)
Console.Write(b[i]);
}
}
class Program
{
static void Main(string[] args)
{
ZhengXing ZX = new ZhengXing(10);
bool flag = ZX.ZhiShu();
if (flag == true)
Console.WriteLine("这个数是质数");
else
Console.WriteLine("这不是一个质数");
int x = ZX.ChiFang(2);
Console.WriteLine("这个数的N次方是{0}",x);
ZX.ZhuanHuan();
Console.ReadLine();
}

}
}

错误 1 使用了未赋值的局部变量“b”
(这个错是什么意思啊,求解释啊,先解答就得全分哦,我是新手《《《,谢谢)
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2012-04-09
  • 打赏
  • 举报
回复
public void ZhuanHuan()
{
int count = 0;
List<int> b = new List<int>();
for (int i = 0; a != 0; i++)
{
b.Add(a % 2);
a = a / 2;
count = count + 1;
}
for (int i = count - 1; i >= 0; i--)
Console.Write(b[i]);
}
orochiheart 2012-04-09
  • 打赏
  • 举报
回复
就是没有初始化的原因
int[] b;
-》
int[] b = new int[9999];

数组类型如果想用必须得初始化长度,除非声明正泛型那种(List<int> ss = new List<int>)是不需要指定长度的 如楼上各位老大所示
EnForGrass 2012-04-09
  • 打赏
  • 举报
回复
你就是没给数组int[] b初始化,一般的做法是下面这样(也许C语言时候是这样的)

public void ZhuanHuan()
{
int count = 0;
int[] b = new int[100];
for (int i = 0; a != 0; i++)
{
b[i] = a % 2;
a = a / 2;
count = count + 1;
}
for (int i = count - 1; i >= 0; i--)
Console.Write(b[i]);
}

因为你的a之不确定,所以b的长度也不确定。在C#中建议用List来处理,因为他不需要事先定义长度
List<int> b = new List<int>();这样就很方便。
具体代码,如我楼上
色拉油 2012-04-09
  • 打赏
  • 举报
回复
int[] b; //b只是定义了,没有初始化

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧