bili1483 2011-11-26 20:17
浏览 238
已采纳

"\t"打错了成'\t',结果求解释?

本人半桶水,我刚才在做现实100质数的程序:
[code="java"]public class test1
{
public static boolean isPrimeNumber(int n)
{
for(int i=2;i<=Math.sqrt(n);i++)
{
if(n%i==0)
{
return false;
}
}
return true;
}
public static void main(String[] arges)
{
final int s=100;
for(int i=2;i<=s;i++)
{
if(isPrimeNumber(i))
{
System.out.print(i+"\t");
}
}
}
}[/code]
21行那里,第一次写的时候把"\t"写成'\t',能编译,结果出来是一大串数字,[img]http://dl.iteye.com/upload/attachment/595892/0971afdd-fc97-33c7-a3c4-a0580bc9e17c.jpg[/img]而且保留'\t'重新编译后再执行的话那串结果会不一样的。
我想知道'\t'这东西是啥,为什么出现这个结果?(是内存方面出错?不知道是不是)
还有就是我在网上搜java '\t' "\t"或者java '\t'或者java "\t",出来的都不是我想知道的,顺便问一下如果遇到这类问题自己怎么搜答案?求经验分享

  • 写回答

3条回答 默认 最新

  • jiangguangxian 2011-11-26 21:32
    关注

    [code="java"]
    public class test1

    {

    public static boolean isPrimeNumber(int n)

    {

    for(int i=2;i<=Math.sqrt(n);i++)

    {

    if(n%i==0)

    {

    return false;

    }

    }

    return true;

    }

    public static void main(String[] arges)

    {

    final int s=100;

    for(int i=2;i<=s;i++)

    {

    if(isPrimeNumber(i))

    {

    System.out.print(i+9);

    }

    }

    }

    }

    [/code]
    试试这段程序是不是和你的结果一致啊,如果是,那么你可以想象一下 '\t' 这个字符的整数值是9, 而9就是'\t'这个字符的ascii码,而这种转换就是自动转型。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料