标题:未将对象引用设置到对象的实例问题如何解决
只看楼主
moderndai
Rank: 1
等 级:新手上路
帖 子:104
专家分:0
注 册:2006-1-25
 问题点数:0 回复次数:2 
未将对象引用设置到对象的实例问题如何解决

using System;
using System.Text;

public class SimpleColumnarTransposition
{

public static int rownumber(ref string Array,ref int Line)//判断数组的行数
{
int leavenumber=Array.Length%Line;
int row1=(int)(Array.Length/Line);
if (leavenumber==0)
{
return (row1-1);
}
else
{
return (row1);
}
}


public static char[][] getchar(ref int ROW,ref string mingwen,ref int Line)//返回类型要有
{
int count=0;//记是mingwen的第几个字符
char[][] ch=new char [ROW][];

for (int row2=0;row2<ROW;row2++)
{
for (int i=0,number=count;i<Line;i++,number++,count++)
{
while (count<mingwen.Length)
{
ch[row2][i]=mingwen[number];
}
}
}
return ch;
}


public static void Main()
{
int row,line;//row是行数,line是列数
string arg;
Console.WriteLine("输入你想输入的明文:");
arg=Console.ReadLine();
string args=arg.Replace(" ","");
Console.WriteLine("输入一个数字定义是几列的数组:");
line=Convert.ToInt32(Console.ReadLine());
row=rownumber(ref args,ref line);
char[][] cha=getchar(ref row,ref args,ref line);

Console.WriteLine("Press the key number:");

string s=Console.ReadLine();
foreach(char number1 in s)
{
int number2=(int)number1;
for (int x=0;x<row;x++)
{
Console.WriteLine(cha[x][number2]);
}
}
}
}

搜索更多相关主题的帖子: 实例 int STRONG 对象 Array 
2006-03-15 20:28
ytyt654
Rank: 2
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2006-2-13
得分:0 
public static char[][] getchar(ref int ROW,ref string mingwen,ref int Line)//返回类型要有
{
int count=0;//记是mingwen的第几个字符
char[][] ch=new char [ROW][];

for (int row2=0;row2<ROW;row2++)
{
for (int i=0,number=count;i<Line;i++,number++,count++)
{
while (count<mingwen.Length)
{
ch[row2][i]=mingwen[number];
}
}
}
return ch;
}

ch是一个二维数组, 你只声明了第一维的长度, 第二维长度没有声明所以为null


2006-03-16 08:52
moderndai
Rank: 1
等 级:新手上路
帖 子:104
专家分:0
注 册:2006-1-25
得分:0 

晕死
到现在都没人来帮下我回答下
这里是我编译好通过运行成功的代码,昨天晚上刚调试成功,大家多多交流啊
using System;
using System.Text;

public class SimpleColumnarTransposition
{

public static int rownumber(string Array,int Column)//判断数组的行数
{
int leavenumber=Array.Length%Column;
int row1=(int)(Array.Length/Column);
if (leavenumber==0)
{
return (row1);
}
else
{
return (row1+1);
}
}


public static char[][] getchar(int ROW,string mingwen,int Column)//把字符串中的字符分配到不定数组中去
{
int count=0;//记是mingwen的第几个字符
char[][] ch=new char [ROW][];

for (int row2=0;row2<ROW;row2++)
{
if (row2!=ROW-1)
{
ch[row2]=new char[Column];
for (int i=0,number=count;i<Column;i++,number++,count++)
{
while(count<mingwen.Length)
{
ch[row2][i]=mingwen[number];
break;
}
}
}
else
{
Column=mingwen.Length%Column;
ch[row2]=new char[Column];
for (int i=0,number=count;i<Column;i++,number++,count++)
{
while(count<mingwen.Length)
{
ch[row2][i]=mingwen[number];
break;
}
}
}
}
return ch;
}


public static void Main()
{
int row,column,i;//row是行数,column是列数
string arg;
Console.WriteLine("输入你想输入的明文:");
arg=Console.ReadLine();
string args=arg.Replace(" ","");

Console.WriteLine("输入一个数字定义是几列的数组:");

column=Convert.ToInt32(Console.ReadLine());
row=rownumber(args,column);

char [][]cha=new char[row][];
for (i=0;i<row;i++)
{
cha[i]=new char[column];
}
cha=getchar(row,args,column);

Console.WriteLine("输入你想按列输出的顺序,数字为从0开始到{0}结束的数字,每个数字要且仅输一次:",column-1);
int [] keynumber=new int [column];
for (i=0;i<keynumber.Length;i++)
{
keynumber[i]=(Convert.ToInt32((Console.Read()))-48);
}

for (i=0;i<keynumber.Length;i++)
{
column=keynumber[i];
for (int row3=0;row3<row;row3++)
{
if (row3==row-1&&column>(cha[row-1].Length-1))
break;
else
Console.Write(cha[row3][column]);
}
}
Console.WriteLine();
}
}


ROCK AND ROCK PROGRAMING dai--yl@&&espricle@
2006-03-17 10:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-50653-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.521376 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved