先说明,本人比较熟悉c语言,但是java就不行了.所以才问这个问题的.
题目是这样的:
建立c:\\2.txt这个文件,然后在2.txt里
写入这个* * * * * 然后这样读出 *
* c * * a *
* * * * * *
我已经做出了c语言的:#include"stdio.h"
#include"conio.h"
#include"string.h"
main()
{
FILE *fp;
char s[3][100];
int i,j;
fp=fopen("c:\\2.txt","w");
for(i=0;i<3;i++)
{
for(j=0;j<i;j++)fprintf(fp," ");
for(j=0;j<5-i*2;j++)fprintf(fp,i==1&&j==1?"c ":"* ");
fprintf(fp,"\n");
}
fclose(fp);
fp=fopen("c:\\2.txt","r");
for(i=0;i<3;i++)
{
fgets(s[i],100,fp);
}
for(i=0;i<3;i++)
{
j=0;
while(s[i][j])
{
if(s[i][j]=='c')
s[i][j]='a';
j++;
}
}
for(i=2;i>=0;i--)
puts(s[i]);
}
我朋友做出了java的:
import java.io.*;
public class BufferedIODemo {
public static void main (String[] args) {
BufferedWriter writer =null;
try{
writer=new BufferedWriter(new FileWriter("c:\\2.txt"));
writer.write("* * * * *");
writer.newLine();
writer.write(" * c * ");
writer.newLine();
writer.write(" *");
writer.newLine();
}
catch (IOException e){
e.printStackTrace();
}
finally {
if (writer!=null)
try {
writer.close();
}
catch (IOException e) {}
} BufferedReader reader=null;
try{
reader=new BufferedReader(new FileReader("c:\\2.txt"));
//从这里开始
String s1,s2,s3;
char a[];
s1=reader.readLine();
s2=reader.readLine();
s3=reader.readLine();
a=s2.toCharArray();
System.out.println(s3);
for (int i=0;i<s2.length();i++){
if (a[i]=='c')
a[i]='a';
System.out.print(a[i]); }
System.out.println("");
System.out.println(s1);
reader.close();
}
catch (IOException e) {}
}
}
两个都可以实现.现在我问的问题是:
哪位朋友可以将我做的那个c语言的,改成java的.换句话说,就是利用c语言的那个(方法)来"套"java那个,从而实现java达到目的的另一个方法呢?谢谢!
<ps:最好在不改变前面部分(//从这里开始 的前面部分),只改变后面的部分就可以了.再次感谢!!>
题目是这样的:
建立c:\\2.txt这个文件,然后在2.txt里
写入这个* * * * * 然后这样读出 *
* c * * a *
* * * * * *
我已经做出了c语言的:#include"stdio.h"
#include"conio.h"
#include"string.h"
main()
{
FILE *fp;
char s[3][100];
int i,j;
fp=fopen("c:\\2.txt","w");
for(i=0;i<3;i++)
{
for(j=0;j<i;j++)fprintf(fp," ");
for(j=0;j<5-i*2;j++)fprintf(fp,i==1&&j==1?"c ":"* ");
fprintf(fp,"\n");
}
fclose(fp);
fp=fopen("c:\\2.txt","r");
for(i=0;i<3;i++)
{
fgets(s[i],100,fp);
}
for(i=0;i<3;i++)
{
j=0;
while(s[i][j])
{
if(s[i][j]=='c')
s[i][j]='a';
j++;
}
}
for(i=2;i>=0;i--)
puts(s[i]);
}
我朋友做出了java的:
import java.io.*;
public class BufferedIODemo {
public static void main (String[] args) {
BufferedWriter writer =null;
try{
writer=new BufferedWriter(new FileWriter("c:\\2.txt"));
writer.write("* * * * *");
writer.newLine();
writer.write(" * c * ");
writer.newLine();
writer.write(" *");
writer.newLine();
}
catch (IOException e){
e.printStackTrace();
}
finally {
if (writer!=null)
try {
writer.close();
}
catch (IOException e) {}
} BufferedReader reader=null;
try{
reader=new BufferedReader(new FileReader("c:\\2.txt"));
//从这里开始
String s1,s2,s3;
char a[];
s1=reader.readLine();
s2=reader.readLine();
s3=reader.readLine();
a=s2.toCharArray();
System.out.println(s3);
for (int i=0;i<s2.length();i++){
if (a[i]=='c')
a[i]='a';
System.out.print(a[i]); }
System.out.println("");
System.out.println(s1);
reader.close();
}
catch (IOException e) {}
}
}
两个都可以实现.现在我问的问题是:
哪位朋友可以将我做的那个c语言的,改成java的.换句话说,就是利用c语言的那个(方法)来"套"java那个,从而实现java达到目的的另一个方法呢?谢谢!
<ps:最好在不改变前面部分(//从这里开始 的前面部分),只改变后面的部分就可以了.再次感谢!!>
import java.io.*;public class Test {
public static void main(String[] args)
{
BufferedWriter writer =null;
String str=new String();
char s[][]=new char[3][10];
int i,j;
try{
writer=new BufferedWriter(new FileWriter("c:\\2.txt"));
for(i=0;i<3;i++)
{
for(j=0;j<i;j++)
writer.write(" ");
for(j=0;j<5-i*2;j++)
{
writer.write(i==1&&j==1?"c ":"* ");
}
writer.newLine();
}
}
catch (IOException e){
e.printStackTrace();
}
finally {
if (writer!=null)
try {
writer.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
BufferedReader reader=null;
String s1=new String();
String s2=new String();
String s3=new String();
try{
reader=new BufferedReader(new FileReader("c:\\2.txt"));
s1=reader.readLine();
s2=reader.readLine();
s3=reader.readLine();
for(i=0;i<3;i++)
{
if(i==0)
{
for(j=0;j<s1.length();j++)
{
s[i][j]=s1.charAt(j);
}
}
if(i==1)
{
for(j=0;j<s2.length();j++)
{
s[i][j]=s2.charAt(j);
}
}
if(i==2)
{
for(j=0;j<s3.length();j++)
{
s[i][j]=s3.charAt(j);
}
}
}
for (j=0;j<s2.length();j++){
{
if(s[1][j]=='c')
s[1][j]='a';
j++;
}
}
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
for(i=2;i>=0;i--)
{
for(j=0;j<10;j++)
{
System.out.print(s[i][j]);
}
System.out.println("");
}
}
}
--------------------------------------------------------------------------
做的和你的C语言的方法有点像了,有问题再问我吧。呵呵!
--------------------------------------------------------------------------------
技术的提升在于不断的探讨和交流,欢迎大家加入《『Ben』J2EE交流群》QQ群:24711176