初学java要写个小程序,打印从ch1到ch2之间的字符,每行按指定个数打印。ch1和ch2是用户输入的,这个关于获取单个字符的问题已经搞了我很久(orz...),想问问高手们到底我的程序问题出在哪里呢?@_@
import java.io.*;
import java.util.Scanner;
class qxq
{
public static void main(String[] args) {
int ch1;
int ch2; //总是觉得这个ch2没有读取任何数似的System.out.print("打印字符,请输入打印个数: ");
Scanner in = new Scanner(System.in);
int m = in.nextInt();try
{
System.out.print("请输入:");
ch1=System.in.read();System.out.print("请输入:");
ch2=System.in.read();System.out.println("该字符为:"+(char)ch1);
System.out.print("请输入:");
ch2=System.in.read();
System.out.println("该字符为:"+(char)ch2);
for (int i = 0; i < m; i++)
{
System.out.print((char)((char)ch1+Math.random()*((char)ch2-(char)ch1+1)));
System.out.println();
}}
catch(IOException e){}
}}
import java.io.*;
import java.util.Scanner;
class qxq
{
public static void main(String[] args) {
int ch1;
int ch2; //总是觉得这个ch2没有读取任何数似的System.out.print("打印字符,请输入打印个数: ");
Scanner in = new Scanner(System.in);
int m = in.nextInt();try
{
System.out.print("请输入:");
ch1=System.in.read();System.out.print("请输入:");
ch2=System.in.read();System.out.println("该字符为:"+(char)ch1);
System.out.print("请输入:");
ch2=System.in.read();
System.out.println("该字符为:"+(char)ch2);
for (int i = 0; i < m; i++)
{
System.out.print((char)((char)ch1+Math.random()*((char)ch2-(char)ch1+1)));
System.out.println();
}}
catch(IOException e){}
}}
import java.util.Scanner;class qxq {
public static void main(String[] args) {
int ch1;
int ch2; // 总是觉得这个ch2没有读取任何数似的 System.out.print("打印字符,请输入打印个数: ");
Scanner in = new Scanner(System.in);
int m = in.nextInt();
System.out.print("请输入:");
ch1 = in.nextInt();
System.out.println("该字符为:" + (char) ch1);
System.out.print("请输入:");
ch2 = in.nextInt();
System.out.println("该字符为:" + (char) ch2);
int i=0;
for(int j=ch1;j<=ch2;j++){
System.out.print((char) j);
if((i++)%m==0)
System.out.println();
}
}
}
给你改了一下
请输入:w
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at qxq.main(qxq.java:12) 楼上的高人,这个
public static void main(String[] args) {
int ch1;
int ch2; // 总是觉得这个ch2没有读取任何数似的 System.out.print("打印字符,请输入打印个数: ");
Scanner in = new Scanner(System.in);
int m = in.nextInt();
System.out.print("请输入:");
ch1 = in.next().charAt(0);
System.out.println("该字符为:" + (char) ch1);
System.out.print("请输入:");
ch2 = in.next().charAt(0);
System.out.println("该字符为:" + (char) ch2);
int i=0;
for(int j=ch1;j<=ch2;j++){
System.out.print((char) j);
if((i++)%m==0)
System.out.println();
}
}
}
我以为你要在控制台输入数字...
这样就可以了
import java.io.*;
public class Sysin
{
public static void main(String[] args)
{
int x,y;
InputStream is = System.in;
try
{
x=is.read();
y=is.read();
for(int i=x;i<=y;i++)
{
System.out.println((char)i);
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}贴一个这个给你看看...