Topic: 请问各位大虾 如何将System.in.read()方法接收的数字Unicode码转为数字?

  Print this page

1.请问各位大虾 如何将System.in.read()方法接收的数字Unicode码转为数字? Copy to clipboard
Posted by: yyten
Posted on: 2004-09-29 15:11

//声明一个二维数组,给其赋值成为一个对角线为1,其他完素为0的n阶矩阵,并将其各元素显示出来.
import java.io.*;
public class marry{
  public static void main(String [] agrs) {
    char k=0;
    int i=0;
    int j=0;
    
    System.out.print("Enter a int: ");
    try{
      k=(char)System.in.read();
    }catch(IOException e){};
    int n=(int) k;
    int m[][]=new int[n][n];
    for(i=0;i<n;i++)
      for(j=0;j<n;j++){
        if(i==j||i+j==(n-1))
          m[i][j]=1;
        else
          m[i][j]=0;
      }    
    System.out.println(n+"*"+n+" 的阵列为 ");
    System.out.println("---------------");
    for(i=0;i<n;i++){
      System.out.print("\n");
      for(j=0;j<n;j++)
        System.out.print(" "+m[i][j]);
      }  
  }
}
如果规定n的值,那程序可以正常输出,但如果像上面这样子,就会就成 输入的数值总被读为的ASCII值
这是什么原因,怎么更改.
我想,这应该是System.in.read()方法把接收到的数据都用Unicode码表示,我试过多种方法,但似乎都不能实现,请问有什么更好的办法吗?谢谢

2.Re:请问各位大虾 如何将System.in.read()方法接收的数字Unicode码转为数字? [Re: yyten] Copy to clipboard
Posted by: eric_dasini
Posted on: 2004-09-29 15:42

import java.io.*;

class marry{
public static void main(String [] agrs) {
char k=0;
int i=0;
int j=0;
int u=0;

System.out.print("Enter a int: ");
try{
k =(char)System.in.read();
u=Integer.parseInt(String.valueOfKiss);
}
catch(IOException e){};
int n = u;
int m[][]=new int[n][n];
for(i=0;i<n;i++)
for(j=0;j<n;j++){
if(i==j||i+j==(n-1))
m[i][j]=1;
else
m[i][j]=0;
}

System.out.println(n+"*"+n+"的阵列为");
System.out.println("---------------");

for(i=0;i<n;i++){
System.out.print("\n");
for(j=0;j<n;j++)
System.out.print(" "+m[i][j]);
}

}
}

3.Re:请问各位大虾 如何将System.in.read()方法接收的数字Unicode码转为数字? [Re: yyten] Copy to clipboard
Posted by: yyten
Posted on: 2004-09-29 15:57

谢谢,晚上回家编译运行一下!真的非常感谢


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923